function checkNum(mobile)
{
var typeNum = new Array("0123","1234","2345","3456","4567","5678","6789");
var result = typeNum.indexOf(mobile);
return (result>=0)?true:false;
}
function check(mobile)
{
var reMobile1 = /^(?=\d{4}$)(\d)\1(\d)\2/;//匹配AABB AAAA类型
var reMobile2 = /^(?=\d{4}$)(\d)(\d)\1\2/;//匹配ABAB
var reMobile3 = /^(?=\d{4}$)(\d)\1{2}/;//匹配AAAB
var reMobile4 = /^(?=\d{4}$)(\d)(\d)\2{2}/;//匹配ABBB
if (reMobile1.test(mobile) || reMobile2.test(mobile) || reMobile3.test(mobile) || reMobile4.test(mobile) || checkNum(mobile)){
return false;
}else{
return true;
}
}
check("1234");//自行测试
重新回答下,感谢 @Honwhy 指出问题。
判断ABCD的方法:
// 手机号码正则待补充,或者在SF其他问题中可以到相关答案
// 取出最后四位数字后
使用indexOf的地方支持扩展。例如: 四个全等的可将"AB" 改成 '0123456789'
经过今天一天正则表达式的简单学习(主要是根据自己的需求有选择的进行的临时学习),最后我自己的解决方案如下:
ABCD这个特殊类型没有通过正则写出来,还在研究中,研究出来再和大家共享。js正则表达式语法
大家有不太懂得可以参考上面的,我基本上就是参考的上面的内容。有什么不懂得 也可以提出大家一起讨论学习下。
看楼主已经用正则搞出了除ABCD类型外其他情况的正则匹配,我补充一下判断ABCD型特选号码的方法,经测试是OK的。
自己改改正则