正则表达式匹配各类手机号

做JS进行表单验证的时候,有时候需要验证手机号的正误,一般的手机号为11位,各个移动通信运营商的号段也不同,如何全部匹配或者分别匹配呢,根据资料,小车统一整理了一下。

各个运营商号段无外乎以下这些:

中国移动134.135.136.137.138.139.150.151.152.157.158.159.187.188 ,147(数据卡)

中国联通130.131.132.155.156.185.186

中国电信133.153.180.189

CDMA 133,153

所以,能匹配各类手机号码的正则表达式分别如下:

匹配所有手机号
“^1[3458]\d{9}$”

匹配移动手机号
“^1(3[4-9]|47|5[012789]|8[78])\d{8}$”

匹配电信手机号
“^18[09]\d{8}$”

匹配联通手机号
“^1(3[0-2]|5[56]|8[56])\d{8}$”

匹配CDMA手机号
“^1[35]3\d{8}$”

Published by 小车

网站技术工人