比如:23955558888,13700596648,010-62607878
现正则:/^(1\d{10})|(0\d{2,3}-?\d{7,8}(-\d{3,4})?$)/
这样可以匹配出座机不正确的,但是手机号却被当做座机处理了。
求正解!
补充:
我用笨办法处理的:接收到子串后,用split分割开,再逐一验证的
手机号不会以 除 1 以外的数字开头;
比如:23955558888,13700596648,010-62607878
现正则:/^(1\d{10})|(0\d{2,3}-?\d{7,8}(-\d{3,4})?$)/
这样可以匹配出座机不正确的,但是手机号却被当做座机处理了。
求正解!
补充:
我用笨办法处理的:接收到子串后,用split分割开,再逐一验证的
手机号不会以 除 1 以外的数字开头;
先split分割,然后调用这个函数:
function checkMobile(str) {
var rePhone = /^((\+?86)|(\(\+86\)))?1\d{10}$/;
var Tel = /^((\+?86)|(\(\+86\)))?\d{3,4}-\d{7,8}(-\d{3,4})?$/;
if (rePhone.test(str)||Tel.test(str)) {
//是手机或者座机
} else {
//匹配失败
}
}