用JavaScript写一个验证手机号码前三位是不是中国运营商的,可是实验总是不对

有没有大神指导一下,下面是我代码<inputtype="text"onblur="china(this)"maxlength='11'/><scriptsrc="jque... 有没有大神指导一下,下面是我代码
<input type="text" onblur="china(this)" maxlength='11'/>
<script src="jquery-1.11.0.min.js"></script>
<script type="text/javascript">
function china(v){
var v=v.value.substring(0,3);
var myreg = /^(((13[0-9]{1})|(14[0-9]{1})|(17[0]{1})|(15[0-3]{1})|(15[5-9]{1})|(18[0-9]{1}))+\d{8})$/;

if(!myreg.test(v))
{alert('1');}
else{alert('2');}

}
</script>

可是输入什么弹出来都是1,不应该是没检索到的弹出来是不一样的吗,有没有高手告诉我该怎么改或者我该怎么写
展开
 我来答
匿名用户
2016-08-08
展开全部
这正则表达问题。
1[34578][0-9]{9}
按这个方式去试试看,好久没写了,可能会有些小错误,你测试修正下即可。
更多追问追答
追问
不行,那好像不是正则的问题,因为那写了的是全部运营商有可能号码段前三位
追答
/^(((13[0-9])|(14[0-9])|(17[0])|(15[0-3])|(15[5-9])|(18[0-9]))\d{8})$/;

按你的方式写了一个,前面取了3个数,后面接8个数。
+表示1个或多个,这里不需要用到。 基本格式是这样,测试下。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式