Javascript 如何向jQuery验证插件添加字母数字检查?

Javascript 如何向jQuery验证插件添加字母数字检查?,javascript,jquery,Javascript,Jquery,这里提出了一个确切的问题: 但不幸的是,发布的解决方案对我不起作用。我正在使用非常流行的jquery验证插件,特别是这个版本: 我尝试添加自定义字母数字函数(来自上面的堆栈溢出问题),如下所示: $(函数(){ $.validator.addMethod(“loginRegex”,函数(值,元素){ 返回此.optional(element)| |/^[a-z0-9\-]+$/i.test(value); },“用户名只能包含字母、数字或破折号。”); $(“#myForm”)。验证({

这里提出了一个确切的问题:

但不幸的是,发布的解决方案对我不起作用。我正在使用非常流行的jquery验证插件,特别是这个版本:

我尝试添加自定义字母数字函数(来自上面的堆栈溢出问题),如下所示:


$(函数(){
$.validator.addMethod(“loginRegex”,函数(值,元素){
返回此.optional(element)| |/^[a-z0-9\-]+$/i.test(value);
},“用户名只能包含字母、数字或破折号。”);
$(“#myForm”)。验证({
规则:{
“登录”:{
要求:正确,
loginRegex:没错,
}
},
信息:{
“登录”:{
必需:“您必须输入登录名”,
loginRegex:“登录格式无效”
}
}
});
});

如果运行此代码,您可以看到它只验证某些类型的输入,而不通过自定义字母数字函数验证输入。如何才能做到这一点?

是否在登录规则后有一个额外的逗号?IE将遇到以下问题:

rules: {
    "login": {
        required: true,
        loginRegex: true,
    }
},
应该是:

rules: {
    "login": {
        required: true,
        loginRegex: true
    }
},

什么不起作用?键入除数字、字母或破折号以外的任何内容,您都会收到错误消息()@Andrew Whitaker您是对的,不知道前几天它为什么不起作用。我只在主站点上尝试过,其他一些代码肯定是冲突的。但在这个独立版本中,它似乎工作得很好。谢谢
rules: {
    "login": {
        required: true,
        loginRegex: true
    }
},