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,那是一个有坏字符的字符串(the #)。所以它总是说不允许。

$("#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 回答