Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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 jQuery仅按字母顺序,带数字_Javascript_Jquery_Validation_Numeric_Alphabetical - Fatal编程技术网

Javascript jQuery仅按字母顺序,带数字

Javascript jQuery仅按字母顺序,带数字,javascript,jquery,validation,numeric,alphabetical,Javascript,Jquery,Validation,Numeric,Alphabetical,我在JQuery验证方面遇到了一些困难。我需要用数字按字母顺序进行输入验证,但如果只输入数字值,则不应验证 例如:lorem ipsum 123应该有效,lorem ipsum应该有效,123不应该有效 我使用这个代码,但它不能正常工作 e.find('.alphanum').keypress(function(e) { var regex = new RegExp("^[a-zA-Z0-9 ]+$"); var str = String.fromCharCode(!e.char

我在JQuery验证方面遇到了一些困难。我需要用数字按字母顺序进行输入验证,但如果只输入数字值,则不应验证

例如:lorem ipsum 123应该有效,lorem ipsum应该有效,123不应该有效

我使用这个代码,但它不能正常工作

e.find('.alphanum').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;
});
这将有助于:

/(?!^\d*$)^[a-zA-Z0-9 ]+$/
这将有助于:

/(?!^\d*$)^[a-zA-Z0-9 ]+$/

这也可能有用:

/^(?:[A-Za-z0-9 ]*[a-zA-Z ][0-9]*)+$/
它的功能与QWERTY提供的功能几乎相同,但可能更容易理解(IMHO,对于正则表达式来说,这本身就是一种特性…)

我们形成了一个非捕获组,由零个或多个允许字符、一个必需字符和零个或多个允许但不必需的字符组成,然后匹配该组。如果您也不想只允许空白字符串,请将空格从第二个字符类移动到第三个字符类,即

/^(?:[A-Za-z0-9 ]*[a-zA-Z][0-9 ]*)+$/
您可以将三个字符类视为

  • 字符串中允许的所有字符
  • 必须至少出现一次的所有字符
  • 出现在1.中但不出现在2.中的所有字符
  • 很可能这比Qwertiy的答案效率更低,但该解决方案也匹配,例如,
    ,而此答案中的第二个不匹配


    您可以在这里摆弄正则表达式并测试结果:

    这可能也很有用:

    /^(?:[A-Za-z0-9 ]*[a-zA-Z ][0-9]*)+$/
    
    它的功能与QWERTY提供的功能几乎相同,但可能更容易理解(IMHO,对于正则表达式来说,这本身就是一种特性…)

    我们形成了一个非捕获组,由零个或多个允许字符、一个必需字符和零个或多个允许但不必需的字符组成,然后匹配该组。如果您也不想只允许空白字符串,请将空格从第二个字符类移动到第三个字符类,即

    /^(?:[A-Za-z0-9 ]*[a-zA-Z][0-9 ]*)+$/
    
    您可以将三个字符类视为

  • 字符串中允许的所有字符
  • 必须至少出现一次的所有字符
  • 出现在1.中但不出现在2.中的所有字符
  • 很可能这比Qwertiy的答案效率更低,但该解决方案也匹配,例如,
    ,而此答案中的第二个不匹配


    你可以摆弄正则表达式,在这里测试结果:

    问题中没有明确说明,但是
    (?!^[0-9]*$)^[a-zA-Z0-9]+$
    可能更接近预期的行为(例如,在负前瞻中包含空格,因此不接受“123”或“12 3”等)。我的错误。我只检查我放在键盘上的符号。但是我应该检查这个输入,并验证alpha是否丢失在问题中没有明确说明,但是
    (?!^[0-9]*$)^[a-zA-Z0-9]+$
    可能更接近预期的行为(即,在负前瞻中包含空格,因此不接受例如“123”或“12 3”)。我的错误。我只检查我放在键盘上的符号。但是我应该检查这个输入,验证alpha是否缺少+1;然而,Qwerity的正则表达式只需要添加1个字符,以避免只匹配空格;我不确定它是否有理由增加额外的负载/复杂性;然而,Qwerity的正则表达式只需要添加1个字符,以避免只匹配空格;我不确定这是否证明了额外的负载/复杂性的合理性。