C#-验证国内手机号码的最准确正则表达式

国内手机号码的规则(来自百度百科):

前3位为网络识别号;第4-7位为地区编码;第8-11位为用户号码。

移动:

1340-1348、135、136、137、138、139、150、151、152、157、158、159、182、183、184、187、188、147、178

联通:

130、131、132、155、156、145、185、186、176、175

电信:

133、153、180、181、189、177、173、149

虚拟运营商:

170[1700/1701/1702(电信)、1703/1705/1706(移动)、1704/1707/1708/1709(联通)、171(联通)

请问用C#如何写出最准确的正则表达式?

解决方法

  /// <summary>
        /// 判断输入的字符串是否是一个合法的手机号
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public static bool IsMobilePhone(string input)
          {
              Regex regex = new Regex("^1[34578]\\d{9}$");
             return regex.IsMatch(input);
        }

我们公司开始写的发现跟不上时代,就补加了第二位 5/7/8,感觉运营商变来变去,很难写太完整,都是出了问题再加

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容