String pattStr = "(01,|02,|03,|04,|05,|06,|07,|08,|09,|10,|11,){4}+(01|02|03|04|05|06|07|08|09|10|11){1}";
这是我java的写法,js也要实现同样的功能,写不来,望高手帮忙写个,感激不尽!
大体意思是有5字符串,前4个必须在01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11,中选择4个
结尾1个字符串 必须在01 02 03 04 05 06 07 08 09 10 11中选择一个
这是我java的写法,js也要实现同样的功能,写不来,望高手帮忙写个,感激不尽!
大体意思是有5字符串,前4个必须在01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11,中选择4个
结尾1个字符串 必须在01 02 03 04 05 06 07 08 09 10 11中选择一个
var reg=/^(01,|02,|03,|04,|05,|06,|07,|08,|09,|10,|11,){4}.*(01|02|03|04|05|06|07|08|09|10|11)$/gi
var reg = /^(01,|02,|03,|04,|05,|06,|07,|08,|09,|10,|11,){4}(01|02|03|04|05|06|07|08|09|10|11)$/;
alert(reg.test("01,02,03,04,11"));
alert(reg.test("01,01,01,01,01"));
alert(reg.test("00,11,23,43,01"));
如果你要得到不同的组合 那就别用正则了啊 function getRandom(min,max){
return parseInt(Math.random()*(max-min+1));
} var arrStr = "01,02,03,04,05,06,07,08,09,10,11";
var str = "";
for(var i=0;i<5;i++){
var arr = arrStr.split(",");
var tmp = arr[getRandom(0,arr.length-1)];
str = str + tmp + ","
arrStr = arrStr.replace(tmp,"").replace(/,+/g,",").replace(/(^\s*,\s*)|(\s*,\s*$)/g,"");
}
str = str.substring(0,str.length-1);
alert(str);
这不就可以
reg2=/^(01,|02,|03,|04,|05,|06,|07,|08,|09,|10,|11,){4}.*(01|02|03|04|05|06|07|08|09|10|11)$/gi,
var s='01,02,03,04,04';
alert(!reg1.test(s)&®2.test(s));
var str1 = "01,02,03,04,05";
alert(reg.test(str1)); // true
var str2 = "01,02,03,04,02";
alert(reg.test(str2)); //false