现在提需求的同事说, 要有一个界面, 课题填写多个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"只能输入数字和逗号, 其他不可以

解决方案 »

  1.   

    var s = "1,2,3";
    var r = /^\d+(,\d+)*$/;
    if(!r.test(s)){
    alert("error");
    }
      

  2.   

    var s = "0,1,2,3";
    var r = /^(?![0,]\d+)\d+(,\d+)*$/;
    if(!r.test(s)){
    alert("error");
    }
      

  3.   


    var reg=/^(?![0,])\d{1,4}(,(?!0)\d{1,4})*$/;
      

  4.   

    对!位数限制。限制为1个int的大小。
      

  5.   

    int 最大是 2,147,483,647
    不是要求太严格的话 可以 这样:
    /^(?![0,])\d{1,9}(,(?![0,])\d{1,9})*$/