Javascript jQuery仅按字母顺序,带数字
我在JQuery验证方面遇到了一些困难。我需要用数字按字母顺序进行输入验证,但如果只输入数字值,则不应验证 例如:lorem ipsum 123应该有效,lorem ipsum应该有效,123不应该有效 我使用这个代码,但它不能正常工作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
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 ]*)+$/
您可以将三个字符类视为
“
,而此答案中的第二个不匹配
您可以在这里摆弄正则表达式并测试结果:这可能也很有用:
/^(?:[A-Za-z0-9 ]*[a-zA-Z ][0-9]*)+$/
它的功能与QWERTY提供的功能几乎相同,但可能更容易理解(IMHO,对于正则表达式来说,这本身就是一种特性…)
我们形成了一个非捕获组,由零个或多个允许字符、一个必需字符和零个或多个允许但不必需的字符组成,然后匹配该组。如果您也不想只允许空白字符串,请将空格从第二个字符类移动到第三个字符类,即
/^(?:[A-Za-z0-9 ]*[a-zA-Z][0-9 ]*)+$/
您可以将三个字符类视为
“
,而此答案中的第二个不匹配
你可以摆弄正则表达式,在这里测试结果:问题中没有明确说明,但是
(?!^[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个字符,以避免只匹配空格;我不确定这是否证明了额外的负载/复杂性的合理性。