9
$("#user").keyup(function(e){ 
    var regx = /^[A-Za-z0-9]+$/;
    if (!regx.test('#user')) 
    {$("#infoUser").html("Alphanumeric only allowed !");}
);}

#userはテキスト入力で、ユーザーが文字と数字以外を入力した場合に警告を表示したいと考えています。
上記の場合、何を入力しても警告が表示されます。

4

5 に答える 5

14

変化する:

if (!regx.test('#user')) 

if (!regx.test( $(this).val() ) ) 

行う:

$("#user").keyup(function(e){     
    var str = $.trim( $(this).val() );
    if( str != "" ) {
      var regx = /^[A-Za-z0-9]+$/;
      if (!regx.test(str)) {
        $("#infoUser").html("Alphanumeric only allowed !");
      }
    }
    else {
       //empty value -- do something here
    }
});

JS フィドルの

于 2013-01-15T10:56:55.187 に答える
4

「#user」文字列ではなく #user 要素の値でテストする必要があります

$("#user").keyup(function(e){ 
    var regx = /^[A-Za-z0-9]+$/;
    if (!regx.test($('#user').val()))  // .
    {$("#infoUser").html("Alphanumeric only allowed !");}
);}
于 2013-01-15T11:00:03.300 に答える
2

この行

regx.test('#user')

文字列 をテストしました#userが、これは悪い文字 ( #) を含む文字列です。したがって、常に許可されていないと表示されます。

$("#user")を使用して、そこの実際の値を使用します$(this).val()

于 2013-01-15T10:57:53.187 に答える
1
$('#alpha').bind('keypress', function (event) {
var regex = new RegExp("^[a-zA-Z\b]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
   event.preventDefault();
   return false;
}
});

$('#numeric').bind('keypress', function (event) {
var regex = new RegExp("^[0-9\b]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
   event.preventDefault();
   return false;
}
});

$('#alphanumeric').bind('keypress', function (event) {
var regex = new RegExp("^[a-zA-Z0-9\b]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
   event.preventDefault();
   return false;
}
});


$('#alphanumericspecial').bind('keypress', function (event) {
var regex = new RegExp("^[a-zA-Z0-9 .]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
   event.preventDefault();
   return false;
}
});
于 2016-10-31T09:31:15.297 に答える
0
   function isNotAlphanumeric(){
        return (! val.match(/^[a-zA-Z]+$/))
        //return val.match(/^[a-zA-Z0-9]+$/) ? false : true;
   } 

したがって、val が英数字の場合は false を返します。そのため、戻り値に基づいて適切なアクションを実行してください。キーアップ イベントでこのメソッドを呼び出すことができます。

于 2013-01-15T11:01:55.003 に答える