现在提需求的同事说, 要有一个界面, 课题填写多个ID。进行批量操作。而现在多个ID的验证难倒我了。请教各位大哥大姐, 我正则完全不行。所以只能厚着面皮求正则了。
jQuery.validator.addMethod("checkMultiId", function(value, element) {
var length = value.length;
if(length<=0){
return this.optional(element) || false;
}
var ids = /^^[1-9]\\d{0,3}(,?[1-9]\\d{0,3})*$/;
return this.optional(element) || (length>1 && ids.test(value));
}, "格式错误");
要自定义一个JQ验证
举例:
这些都是可以的 "1","1,2,3","1,2,3,4,5,6,7,8,9,1","1111111,22222"这些是不可以的 "1,",",2,3","1,2,3,4,5,6,7,08,9,1","111111111111111111111111,22222"只能输入数字和逗号, 其他不可以
jQuery.validator.addMethod("checkMultiId", function(value, element) {
var length = value.length;
if(length<=0){
return this.optional(element) || false;
}
var ids = /^^[1-9]\\d{0,3}(,?[1-9]\\d{0,3})*$/;
return this.optional(element) || (length>1 && ids.test(value));
}, "格式错误");
要自定义一个JQ验证
举例:
这些都是可以的 "1","1,2,3","1,2,3,4,5,6,7,8,9,1","1111111,22222"这些是不可以的 "1,",",2,3","1,2,3,4,5,6,7,08,9,1","111111111111111111111111,22222"只能输入数字和逗号, 其他不可以
var r = /^\d+(,\d+)*$/;
if(!r.test(s)){
alert("error");
}
var r = /^(?![0,]\d+)\d+(,\d+)*$/;
if(!r.test(s)){
alert("error");
}
var reg=/^(?![0,])\d{1,4}(,(?!0)\d{1,4})*$/;
不是要求太严格的话 可以 这样:
/^(?![0,])\d{1,9}(,(?![0,])\d{1,9})*$/