Javascript jQuery验证未按预期工作
下面是我的Javascript jQuery验证未按预期工作,javascript,jquery,regex,Javascript,Jquery,Regex,下面是我的正则表达式方法 $.validator.addMethod("regex", function (element, value, regexp) { var re = new RegExp(regexp); return this.optional(element) || re.test(value); }, "Special Characters not permitted"); 下面是我的规则 var rules = { cnam
正则表达式
方法
$.validator.addMethod("regex", function (element, value, regexp) {
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
}, "Special Characters not permitted");
下面是我的规则
var rules = {
cname: {
required: true,
minlength: 8
//alphanumeric:true
//regex: "/^\w+$/i"
//uniqueCompnameName: true
}
}
当我将正则表达式传递给正则表达式时,它根本不起作用。因此请记住,
\w
将与[a-zA-Z0-9_uz]
相同。现在,对于正则表达式,您可以在这里找到:
^[A-Za-z0-9]{8,}$
也就是说任何最小长度为8个字符的单词字符
最后,在将正则表达式传递到函数中时,您希望像这样传递它:
regex: '^[A-Za-z0-9]{8,}$'
然后,在构建RegExp
时,您希望将标志作为第二个参数传递:
var re = new RegExp(regexp, 'i');
尝试使用正则表达式符号而不是字符串来传递正则表达式
$.validator.addMethod("regexp", function (value, element, regexp) {
if (typeof regexp == 'string') {
regexp = new RegExp(regexp);
}
return this.optional(element) || regexp.test(value);
}, "Special Characters not permitted");
然后
演示:您可以创建JSFIDLE或jsbin吗?链接到你正在使用的插件也不错。你的正则参数是错误的。。。它应该是“
”^\w+$”
我实际上在寻找一个不允许特殊字符的正则表达式。请告诉我,这里出了什么问题。正则表达式:“^[0-9]{10,}$”当只允许数字时。@theJava,看起来该正则表达式没有任何问题,但是如果您遇到问题,请发布一个包含所有详细信息的新问题。
name1: {
required: true,
regexp: '/^\w+$/'
},
name2: {
required: true,
regexp: /^\w+$/i
}