js正则表达式怎样写匹配连续的字符串(如:123456)和重复的字符串(如:111111)? 15
2个回答
展开全部
匹配连续的字符串,可以比较ASCII码值是否连续。正则表达式,不知道怎么写。
var lineFlag = false;
var re =/^[0-9]{1,20}$/g;
var re1 = /^[a-z]{1,20}$/g;
var re2 = /^[A-Z]{1,20}$/g;
//如果是全数字或全字母
if(re.test(pwd) || re1.test(pwd) || re2.test(pwd)){
for(var i=0;i<pwd.length-1;i++){
t1 = pwd.charCodeAt(i);
t2 = pwd.charCodeAt(i+1);
if(t2 == t1+1){
lineFlag = true;
continue;
}else {
lineFlag = false;
break;
}
}
if(lineFlag){
alert("不允许输入连续的数字或字母,请重新输入!");
return;
}
}
匹配连续的3个相同字符:
var re = /(\w)*(\w)\2{2}(\w)*/g;
if(re.test(pwd)){// 在字符串 s 中查找匹配。
alert("不允许输入三个连续的相同字符,请重新输入!");
return;
}
var lineFlag = false;
var re =/^[0-9]{1,20}$/g;
var re1 = /^[a-z]{1,20}$/g;
var re2 = /^[A-Z]{1,20}$/g;
//如果是全数字或全字母
if(re.test(pwd) || re1.test(pwd) || re2.test(pwd)){
for(var i=0;i<pwd.length-1;i++){
t1 = pwd.charCodeAt(i);
t2 = pwd.charCodeAt(i+1);
if(t2 == t1+1){
lineFlag = true;
continue;
}else {
lineFlag = false;
break;
}
}
if(lineFlag){
alert("不允许输入连续的数字或字母,请重新输入!");
return;
}
}
匹配连续的3个相同字符:
var re = /(\w)*(\w)\2{2}(\w)*/g;
if(re.test(pwd)){// 在字符串 s 中查找匹配。
alert("不允许输入三个连续的相同字符,请重新输入!");
return;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询