Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuerys检查输入中的无效字符_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jQuerys检查输入中的无效字符

Javascript 使用jQuerys检查输入中的无效字符,javascript,jquery,html,Javascript,Jquery,Html,我有一个输入框,其中输入了用户名,但如果输入了无效字符,我希望它出错。下面的代码是我正在使用的代码;我应该在“某物”部分放什么 试试这个正则表达式 [A-Za-z] 这将只匹配小写和大写字符请尝试此正则表达式 [A-Za-z] 这将只匹配小写和大写字符以下是我多年前编写的一些模式: patt['name'] = /^[a-z ,-]+$/i; patt['username'] = /^[A-z0-9_-]+$/i; patt['email'] = /^[a-z0-9]+(?:[\.-]?[a

我有一个输入框,其中输入了用户名,但如果输入了无效字符,我希望它出错。下面的代码是我正在使用的代码;我应该在“某物”部分放什么

试试这个正则表达式

[A-Za-z]
这将只匹配小写和大写字符

请尝试此正则表达式

[A-Za-z]

这将只匹配小写和大写字符

以下是我多年前编写的一些模式:

patt['name'] = /^[a-z ,-]+$/i;
patt['username'] = /^[A-z0-9_-]+$/i;
patt['email'] = /^[a-z0-9]+(?:[\.-]?[a-z0-9]+)*@[a-z0-9]+([-]?[a-z0-9]+)*[\.-]?[a-z0-9]+([-]?[a-z0-9]+)*([\.-]?[a-z]{2,})*(\.[a-z]{2,5})+$/i;
patt['website'] = /^http(s)?:\/\/(www\.)?[a-z0-9]+([-]?[a-z0-9]+)*[\.-]?[a-z0-9]+([-]?[a-z0-9]+)*([\.-]?[a-z]{2,})*(\.[a-z]{2,5})+$/i;
patt['age'] = /^(?:([1][3-9]|[2-9][0-9]))$/i;
patt['subject'] = /[a-z0-9?!:;'&_\. ,-]+/i;
如果要使用它们,应检查以下条件:

if(($(this).val() == "") || ! $(this).val().match(patt['name'])){ // in case.
...
}

但是,如果您想检查不需要的字符,那么
用户名输入将是一个很长的模式。

以下是我多年前编写的一些模式:

patt['name'] = /^[a-z ,-]+$/i;
patt['username'] = /^[A-z0-9_-]+$/i;
patt['email'] = /^[a-z0-9]+(?:[\.-]?[a-z0-9]+)*@[a-z0-9]+([-]?[a-z0-9]+)*[\.-]?[a-z0-9]+([-]?[a-z0-9]+)*([\.-]?[a-z]{2,})*(\.[a-z]{2,5})+$/i;
patt['website'] = /^http(s)?:\/\/(www\.)?[a-z0-9]+([-]?[a-z0-9]+)*[\.-]?[a-z0-9]+([-]?[a-z0-9]+)*([\.-]?[a-z]{2,})*(\.[a-z]{2,5})+$/i;
patt['age'] = /^(?:([1][3-9]|[2-9][0-9]))$/i;
patt['subject'] = /[a-z0-9?!:;'&_\. ,-]+/i;
如果要使用它们,应检查以下条件:

if(($(this).val() == "") || ! $(this).val().match(patt['name'])){ // in case.
...
}

但是,如果您想检查不需要的字符,那么
用户名
输入将是一个很长的模式。

如果您希望验证您的用户输入,只使用字母,我建议使用字符代码,类似这样:

  • 在输入标签上添加按键事件

  • 对于传递的事件参数,请检查字符代码(某些浏览器使用keyCode,其他浏览器使用which)

    函数checkOnKeyDown(事件){

    如果(event.KeyCode>=65&&event.KeyCode如果您希望验证您的用户输入,以仅包含字母,我建议使用字符代码,如下所示:

  • 在输入标签上添加按键事件

  • 对于传递的事件参数,请检查字符代码(某些浏览器使用keyCode,其他浏览器使用which)

    函数checkOnKeyDown(事件){

    如果(event.KeyCode>=65&&event.KeyCode建议您阅读一些关于和的内容

    要获得简单的信件而不是其他,只需执行以下操作:

    ^[a-zA-Z]+$
    

    这允许在开始和结束之间找到1..n个小写和大写字母,其他什么都没有。Sushanth的版本将匹配部分输入,允许用户在其他地方使用空格、数字等,只要输入中有一个单词。

    建议您阅读一点关于和的内容

    要获得简单的信件而不是其他,只需执行以下操作:

    ^[a-zA-Z]+$
    

    这允许在开始和结束之间找到1..n个小写和大写字母,其他什么都没有。Sushanth的版本将匹配部分输入,允许用户在其他地方使用空格、数字等,只要有一个输入中有一个单词。

    这应该是您尝试执行的全部操作:

    var invalid = /[^A-Za-z]+/;
    
    $(this).removeClass("active");          
    
    if($(this).val() == "" || invalid.test($(this).val()))
    {
        $("#firstNameErrorMsg").html("First name can only contain letters. ");
    }
    else
    {
        $("#firstNameErrorMsg").html("OK");
    }
    

    这应该是您尝试执行的全部操作:

    var invalid = /[^A-Za-z]+/;
    
    $(this).removeClass("active");          
    
    if($(this).val() == "" || invalid.test($(this).val()))
    {
        $("#firstNameErrorMsg").html("First name can only contain letters. ");
    }
    else
    {
        $("#firstNameErrorMsg").html("OK");
    }
    

    Sushanth基本上是正确的,但是您需要匹配任意数量的字母,并且必须从开始到结束只匹配字母,所以您应该这样做

    var name = new RegExp('^[A-Za-z]+$');
    $(this).removeClass('active');
    
    if($(this).val().match(name)) {
        $('#firstNameErrorMsg').html('OK');
    } else {
        $('#firstNameErrorMsg').html('First name can only contain letters.');
    }
    

    Sushanth基本上是正确的,但是您需要匹配任意数量的字母,并且必须从开始到结束只匹配字母,所以您应该这样做

    var name = new RegExp('^[A-Za-z]+$');
    $(this).removeClass('active');
    
    if($(this).val().match(name)) {
        $('#firstNameErrorMsg').html('OK');
    } else {
        $('#firstNameErrorMsg').html('First name can only contain letters.');
    }
    

    这取决于你对“无效字符”的定义;-)好吧,我希望它只包含字母,所以所有不是字母的东西都是无效的。希望这能回答你的问题!你是在说英语字母吗?如果不是,你应该看一看,相当明确地检查无效字符,这取决于你对字母的定义“无效字符”;-)嗯,我希望它只包含字母,所以所有不是字母的东西都是无效的。希望这能回答你的问题!你只是在说英语字母吗?如果不是,你应该看一看并明确检查无效字符。最后两个答案似乎不起作用,或者我的代码是错误的。当我测试这个字段时,它不起作用“不要抛出错误或说“确定”,因此它似乎在某个问题上卡住了。最后两个答案似乎不起作用,或者我的代码出错。当我测试字段时,它不会抛出错误或说“确定”,因此它似乎在某个问题上卡住了。最后两个答案似乎不起作用,或者我的代码出错了。当我测试字段时,它不会抛出错误或说“确定”w错误或说OK,所以它似乎被卡住了。这个方法在没有“patt”的情况下工作吗"但我在结合检查字段是否为空时遇到了问题,因为它们都需要不同的错误消息。请看这里:这是,这是。最后两个答案似乎不起作用,或者我的代码是错误的。当我测试字段时,它不会抛出错误或说“确定”,因此它似乎在某些方面卡住了事情。这个方法在没有“patt”部分的情况下运行,但我在将它与检查字段是否为空检查相结合时遇到问题,因为它们都需要不同的错误消息。请看这里:这是,这是。