我想检查电话号码是否有 8 位数字且不以零开头。为此,我使用了此模式 ^[1-9][0-9]{7}
,我还想检查这 8 个数字是否像 11111111
那样完全重复或 77777777
,我使用此模式:(\w)\1{7,}
,单独检查数字是否与其匹配。
现在我想将这些正则表达式模式组合在一起,但我不能。我尝试以这种方式组合这些模式:
(?=([1-9][0-9]{7}))(?:(?!(\w1{7,})))
但不幸的是它不起作用。
请注意,我必须使用一种正则表达式模式,并且需要将这两种模式合并为一个。
有人可以帮我吗?
最佳答案
这只是您需要检查的第一个字符,它看起来像 - 将其捕获在一个组中,然后对该组使用负向前查找重复 7 次,以确保整个字符串不都是相同的数字,然后以\d{7}
匹配其他 7 位数字:
^([1-9])(?!\1{7})\d{7}$
https://regex101.com/r/DbTtAJ/1
(请注意,[0-9]
简化为 \d
)
关于javascript - 我如何检查这些双重正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53246818/