You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改正则表达式,排除全重复数字的传真/电话号码?

排除全重复数字的传真/电话号码正则优化

你可以在原正则开头添加负向先行断言来排除全重复数字的号码,修改后的正则如下:

^(?!.*(\d)\1{8,})(\+?)([\(]?\d{1}[\)]?((\s)|(-)?))?([\(]?\d{3}[\)]?-?\s?\d{3}-?\s?\d{4}\s?)?$

关键修改说明

  • (?!.*(\d)\1{8,}) 是核心规则:
    • (?!...) 表示负向先行断言,即如果括号内的模式匹配成功,整个正则直接判定为无效。
    • (\d)\1{8,} 匹配某个数字(\d)重复出现9次及以上的情况(\1是对第一个捕获组的引用,{8,}表示至少重复8次,加上初始的1次就是至少9次)。
    • 结合原正则的结构,有效号码至少包含10位数字(比如10位纯数字、带区号的11位等),这个断言可以精准排除所有数字完全重复的号码。

验证效果

  • 通过验证的号码:+1(123)456-7890、123-456-7890、(123) 456 7890
  • 被排除的号码:1111111111、+11111111111、(111)111-1111

内容的提问来源于stack exchange,提问作者Alexander Samuel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 18:04:51