17

ライブデモ: http: //jsfiddle.net/thisizmonster/DveuB/

正規表現を使用せずに、入力時に入力中にAZ、az、0〜9の文字のみを許可するようにこれを変更するにはどうすればよいですか?

4

7 に答える 7

46

スペースも受け入れたいと仮定します。

$("#user").keypress(function(event){
    var ew = event.which;
    if(ew == 32)
        return true;
    if(48 <= ew && ew <= 57)
        return true;
    if(65 <= ew && ew <= 90)
        return true;
    if(97 <= ew && ew <= 122)
        return true;
    return false;
});

スペースを受け入れたくない場合は、if(ew == 32) return true;

JSFiddle

于 2011-08-22T07:17:40.410 に答える
10

<input type="text" id="firstName"  onkeypress="return (event.charCode >= 65 && event.charCode <= 90) || (event.charCode >= 97 && event.charCode <= 122) || (event.charCode >= 48 && event.charCode <= 57)" />

ASCII文字セット:https ://www.w3schools.com/charsets/ref_html_ascii.asp

于 2017-05-24T02:40:43.640 に答える
3

他のすべての答えは問題ありませんが、英語以外の文字のコピーと貼り付けを妨げないでください。

‌以下のコードは両方で機能します(キーを押すコピーして貼り付ける):

<input type="text" name="text" oninput="this.value=this.value.replace(/[^A-Za-z\s]/g,'');">
于 2020-11-19T06:55:55.630 に答える
2

あなたはこのようなことをすることができます:http://jsfiddle.net/DveuB/1/

それからそれは0-9、azとAZだけです

$(function(){
    $("#user").keypress(function(event){
        if ((event.charCode >= 48 && event.charCode <= 57) || // 0-9
            (event.charCode >= 65 && event.charCode <= 90) || // A-Z
            (event.charCode >= 97 && event.charCode <= 122))  // a-z
            alert("0-9, a-z or A-Z");
    });
});

更新: http
: //jsfiddle.net/DveuB/4/ @muが話していることを防ぐには:

$("#user").keyup(function(event){
    if (event.altKey == false && event.ctrlKey == false)
        if ((event.keyCode >= 48 && event.keyCode <= 57 && event.shiftKey== false) ||
            (event.keyCode >= 65 && event.keyCode <= 90) ||
            (event.keyCode >= 97 && event.keyCode <= 122))
            alert("0-9, a-z or A-Z");
});
于 2011-08-22T07:17:23.113 に答える
2
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function () {

  $('.clsAlphaNoOnly').keypress(function (e) {  // Accept only alpha numerics, no special characters 
        var regex = new RegExp("^[a-zA-Z0-9 ]+$");
        var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
        if (regex.test(str)) {
            return true;
        }

        e.preventDefault();
        return false;
    }); 
})
</script>

<body>

<input class='clsAlphaNoOnly' type='text'>
</body>
</html>
于 2018-01-10T07:04:02.560 に答える
1

この関数を使用しています。

RegExpを変更することで、個人的に気に入らない文字を取り除くことができます。

$(function(){
    $("#user").bind('keypress',function(e){
        var regex = new RegExp("^[a-zA-Z0-9 ]+$");
        var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
        if (regex.test(str)) return true;
        e.preventDefault();
        return false;
    });
});
于 2019-08-12T22:34:34.417 に答える
0

キーコードを取得し、他のキーコードを表すいくつかの数値に対して検証するifステートメントなどを作成する必要があると考えてください。

例えば: if(keycode < 80) return false;

于 2011-08-22T07:14:08.313 に答える