问题描述
- js 正则同时验证 手机号和座机 用逗号间隔
-
比如:23955558888,13700596648,010-62607878现正则:/^(1d{10})|(0d{2,3}-?d{7,8}(-d{3,4})?$)/
这样可以匹配出座机不正确的,但是手机号却被当做座机处理了。
求正解!补充:
我用笨办法处理的:接收到子串后,用split分割开,再逐一验证的
手机号不会以 除 1 以外的数字开头;
解决方案
先split分割,然后调用这个函数:
function checkMobile(str) {
var rePhone = /^((+?86)|((+86)))?1d{10}$/;
var Tel = /^((+?86)|((+86)))?d{3,4}-d{7,8}(-d{3,4})?$/;
if (rePhone.test(str)||Tel.test(str)) {
//是手机或者座机
} else {
//匹配失败
}
}
解决方案二:
还不如先split切割,然后分别匹配,这样写起来改起来以及维护都简单。
解决方案三:
你的逗号呢?
而且你保证第一个手机号,不是座机?
时间: 2024-12-02 17:35:04