Created
March 21, 2016 08:08
-
-
Save JerryC8080/b4005ef5c4902b1ea7a0 to your computer and use it in GitHub Desktop.
匹配中国电话号码的正则表达式
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
电信 | |
中国电信手机号码开头数字 | |
2G/3G号段(CDMA2000网络)133、153、180、181、189 | |
4G号段 177 | |
联通 | |
中国联通手机号码开头数字 | |
2G号段(GSM网络)130、131、132、155、156 | |
3G上网卡145 | |
3G号段(WCDMA网络)185、186 | |
4G号段 176、185[1] | |
移动 | |
中国移动手机号码开头数字 | |
2G号段(GSM网络)有134x(0-8)、135、136、137、138、139、150、151、152、158、159、182、183、184。 | |
3G号段(TD-SCDMA网络)有157、187、188 | |
3G上网卡 147 | |
4G号段 178 | |
从以上我们可以看到第一位是【1】开头,第二位则则有【3,4,5,7,8】,第三位则是【0-9】,第三位之后则是数字【0-9】。从而我们可以得出一个符合当前的手机号码验证正则表达式。 | |
* / | |
!/^1[3|4|5|7|8][0-9]{9}$/.test(phone) |
为什么需要捕获呀?
select count(1) from temp.dim_mobile_phone a where a.phone_num not RLIKE "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$";
大家可以看看我维护的中国大陆手机号码正则表达式集合,已经维护四年多了,会及时更新,目前所有的号段规则都支持,希望能帮到大家。
匹配所有号码(手机卡 + 数据卡 + 上网卡)
^1(?:3\d{3}|5[^4]\d{2}|8\d{3}|7[^29](?(?<=4)(?:0\d|1[0-2]|9\d))|9[189]\d{2}|6[67]\d{2}|4(?:10\d|40\d|6\d{2}|8\d{2}|[579]\d{2}))\d{6}$
大家可以看看我维护的中国大陆手机号码正则表达式集合,已经维护四年多了,会及时更新,目前所有的号段规则都支持,希望能帮到大家。
匹配所有号码(手机卡 + 数据卡 + 上网卡)
^1(?:3\d{3}|5[^4]\d{2}|8\d{3}|7[^29](?(?<=4)(?:0\d|1[0-2]|9\d))|9[189]\d{2}|6[67]\d{2}|4(?:10\d|40\d|6\d{2}|8\d{2}|[579]\d{2}))\d{6}$
辛苦了
现在电信已经有 19 了, @VincentSit 辛苦啦
现在电信已经有 19 了, @VincentSit 辛苦啦
[抱拳],电信的 19 好像已经支持了啊。
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@Rudy24 采纳!谢谢大家~