【发布时间】:2013-02-19 03:17:33
【问题描述】:
我正在尝试(但失败)编写一个正则表达式语句,在我的 Javascript 表单验证中检查特殊字符,例如 !@#$%^&*()_+?'"{}[]。
我知道这可能已被问了 1000 次,但我面临着严重的时间压力。如果您不想回答下面的问题,并且可以向我指出上述问题的先前答案的方向,我将不胜感激。
在类似的注释中,谁能告诉我为什么当我输入小写“abc”等时出现以下错误?我很困惑。
jQuery.validator.addMethod("specialChars", function( value, element ) {
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;
}
}, "please use only alphanumeric or alphabetic characters");
【问题讨论】:
-
pktangyue 我以为key只是一个变量名?它指的是什么?我想我可能已经从某个地方复制了它作为早期尝试。
-
你为什么要编写一个已经存在于Validate插件中的方法?在
additional-methods.js文件中有一个名为alphanumeric的规则。见:ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/… -
我认为你应该测试
value,这是用户输入的。 -
@sparky 打败了我......还有你是如何让
event.which或event.preventDefault进入表单字段的验证方法的?
标签: jquery regex jquery-validate