手机号码验证的正则表达式到底怎么写 网上百的怎么实现的不对 。。。。
假设保存的手机号码的字符串为number,可以这样来验证:
if(number.isEmpty()){
}else if(!(number.matches("\\d*"))){
}else if(number.length!=11){
}
上面代码是判断手机号码为空时,为非数字时,手机号码长度不为11,然后做什么操作!
其中关于正则表达式可以查看Java的API,上述用到的正则表达式如下图所示:
1[0-9]{10}
我觉得应该是这样吧。。今天刚看一个老师讲的。
具体你的研究手机号的规则,比如前3位是是什么,一共是11位
[155,156等][0-9]{10}
function
checkMobile(str) {
var
re = /^1\d{10}$/
if (re.test(str)) {
alert("正确");
} else {
alert("错误");
}
}
checkMobile('13800138000'); //调用
checkMobile('139888888889');//错误示例
1\d{10}
一开始我们只有13xxxx,18xxxx,15xxxx,现在又有了16等。所以判断规则在变。只能说以1开头后面10个数字了。
/^1[3|4|5|7|8]\d{9}$/ 解释:必须是1开头,第二位可能是3、4、5、7、8(如果还有别的可以加上),后边9为是0到9的数字。