匹配中国大陆手机号码的正则表达式

  • A+
所属分类:Java JavaScript

目前国内网络上匹配手机号码的正则表达式很多都无法匹配最新的号码段,影响用户操作,故在此分享一个正则表达式来匹配中国大陆的手机号码段。

匹配中国大陆手机号码的正则表达式

电信

2G/3G号段(CDMA2000网络)133、153、180、181、189

4G号段 177、173

联通

2G号段(GSM网络)130、131、132、155、156

3G上网卡145

3G号段(WCDMA网络)185、186

4G号段 176、185

移动

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、184

卫星通信

1349

虚拟运营商号码段

电信 1700、1701、1702

联通 1707、1708、1709、171

移动 1705

 

整理如下

130、131、132、133、134、135、136、137、138、139

150、151、152、153、155、156、157、158、159

173、176、177、178

180、181、182、183、184、185、186、187、188、189

171、1700、1701、1702、1705、1707、1708、1709

正则表达式为

未转义:(^(13\d|15[^4,\D]|17[13678]|18\d)\d{8}|170[^346,\D]\d{7})$。

已转义:(^(13\\d|15[^4,\\D]|17[13678]|18\\d)\\d{8}|170[^346,\\D]\\d{7})$。

默认 14x 上网卡号段为无效号码,如果希望其为有效号码,则正则表达式为:

未转义:(^(13\d|14[57]|15[^4,\D]|17[13678]|18\d)\d{8}|170[^346,\D]\d{7})$。

已转义:(^(13\\d|14[57]|15[^4,\\D]|17[13678]|18\\d)\\d{8}|170[^346,\\D]\\d{7})$。

版本更新

2016.4.5

增加 171 号段支持,分离 14x 号段匹配,完善虚拟运营商号段匹配。

2014.12.19

初次发布。

发表评论

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

目前评论:24   其中:访客  23   博主  1

    • avatar 米粒博客 4

      被玩坏了

      • avatar 破浪无忧 4

        看见正则就头疼,博主真牛!

        • avatar benen005 3

          学习了

          • avatar 沉鱼落雁随笔 3

            没有这些区别吧。

            • avatar 中山婚纱摄影 3

              学习到了

              • avatar 中山婚纱摄影 3

                支持一下

                • avatar Clarke 3

                  好厉害,学习了。 :lol:

                  • avatar 孟子非博客 4

                    俺的要发发开头的

                    • avatar 拾柴湾 1

                      这个用的到~~~收藏之

                      • avatar iEdon 0

                        正则大王啊。对于正则我是一窍不通啊

                        • avatar Koolight 6

                          这都被你玩坏了。

                          • avatar 森林之家 2

                            都是高手我们只能下载归属地的地址包

                            • avatar 天空博客 2

                              谢谢,这个真的是好东西

                              • avatar 生晓's blog 4

                                看不懂

                                • avatar 阅读驿站 3

                                  看不懂

                                  • avatar 灵商工作室 0

                                    好东西,果断收藏

                                    • avatar boke112导航 4

                                      没想到博主连这个也研究啊,我用的是186和138

                                      • avatar 成航先森 5

                                        正则表达式啊,麻烦。看着各种号码段,有种看子网划分的感觉。。。

                                        • avatar 热腾网 6

                                          我的手机号还是13**的老手机号了,N年了。那个网站都能认。 :mrgreen:

                                            • avatar 小C Admin

                                              @热腾网 我的手机号6年155的

                                                • avatar 热腾网 6

                                                  @小C 牛,我的是11年5月份办的。才五年

                                              • avatar 知行资料 0

                                                一看才明白 很不错

                                                • avatar 野人 3

                                                  不是有个网站嘛,直接在线正则匹配手机,现手机上没保存。等用电脑看下,提方便的那个网。

                                                  • avatar 静松太极拳 1

                                                    原来这样分类 一直不懂呢