如何防止 JavaScript 中的非字母数字输入

How to prevent non-alphanumeric input in javascript?

本文关键字:数字输入 何防止 JavaScript      更新时间:2023-09-26
$("#user").keyup(function(e){ 
    var regx = /^[A-Za-z0-9]+$/;
    if (!regx.test('#user')) 
    {$("#infoUser").html("Alphanumeric only allowed !");}
);}

#user是一个文本输入,如果用户输入除字母和数字以外的任何内容,我想播放警告。
在上述情况下,无论键入什么,警告都存在。

更改:

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小提琴示例

您必须使用元素值而不是"#user"字符串进行测试 #user

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

这是行

regx.test('#user')

您是否测试了字符串#user,这是一个具有错误字符的字符串(#(。所以它总是说不允许。

使用

$(this).val()在那里使用$("#user")的实际值

$('#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;
}
});
   function isNotAlphanumeric(){
        return (! val.match(/^[a-zA-Z]+$/))
        //return val.match(/^[a-zA-Z0-9]+$/) ? false : true;
   } 

因此,如果 val 是字母数字,则返回 false。因此,根据返回的值采取适当的操作。可以在键向上事件时调用此方法。