【发布时间】:2015-03-26 23:59:45
【问题描述】:
我正在尝试中断向字母数字字符测试字段的表单提交。谷歌搜索后,我发现很多这种正则表达式的实现,每个人都声称效果很好......
if( !jQuery('input[name=myUsername]').val().test(/^[a-zA-Z0-9]+/) ) {
alert('ERROR: Your username contains invalid characters. Please use numbers and letters only. No spaces, no punctuation.');
jQuery('input[name=myUsername]').focus();
return false;
}
但是,这只会在值以非字母数字字符开头时返回 false 并创建警报。如果我输入“bo$$”它允许它作为字母数字即使 $ 不是字母数字字符...如果我输入“$$ob”它会失败并发出警报。
我该如何解决这个问题,以便整个值中的任何无效字符都会失败?我试过 .match() 而不是 .test() 但同样的问题我假设它是正则表达式中的错误
【问题讨论】:
-
试试
/^[a-zA-Z0-9]+$/
标签: javascript jquery regex