正则表达式 匹配手机号后8位不能连续相同

411 阅读1分钟

^1[0-9]{1}\d(?!(\d)\1{7,})\d{8}$

注释: ^1:表示以1开始; [0-9]{1}:表示从 0-9 的数字中任取一个; \d:匹配一个数字字符; (?!):断言后面不能怎么样; (\d)\1{7,}:表示匹配一个数字,捕获这个数字,大于等于 8 次以上; \d{8}:匹配八位任意数字; $:结尾。

延伸 也可以先用正则表达式判断是否满足11位数字 (?=(\d)\1{7,}) 判断连续大于 8 个数字相同情况下符合