如何使用正则表达式检查不应有重复数字的手机号码



我想检查一个手机号码是否有11位数字,从零开始,第三位数字可能是0,1,2,39,就像09123456789一样。我使用了这个模式^(09)([01239])d{8}$,我还想检查第4到第11位是否像09123333333090311111111一样完全重复。

我使用这个Regex模式:^(09)([01239])(?!2{8,})d{8}$来实现这个目的,但不幸的是它不起作用。

请注意,我必须使用一个Regex模式。

有人能帮我吗?

您可以使用

^09[01239]d(d)(?!1{6})d{6}$

它与匹配

  • ^-字符串的开头
  • 09-一个09子串
  • [01239]-集合中的一位数字
  • d-一位数字
  • (d)-第1组:数字
  • (?!1{6})-不允许与第1组捕获的数字相同
  • d{6}-六位数
  • $—字符串结束

最新更新