javascript - 正则表达式阻止连续 4 次以上包含相同数字的电话号码?

标签 javascript php regex

我想添加一个正则表达式来检查电话号码是否包含相同的数字超过 n 次。 这就是我尝试过的:

  ^0[1-9]([-. ]?[0-9]{2}){4}$

我怎样才能做到呢? 谢谢。

最佳答案

您只需检查任何重复字符 n 次或更多次。首先我们需要确定要捕获哪些字符。其次,我们需要使用反斜杠 + n 从捕获组中获取单个字符。最后我们需要说明它应该重复多少次。在这种情况下,我认为不需要验证整个数字,只需验证存在相同的重复字符这一事实即可。因此,为了捕获任何重复次数 4 次或更多次的数字,我们可以这样做:

'06000000000'.test(/([0-9])\1{3,}/); // return true
'12344445678'.test(/([0-9])\1{3,}/); // return true
'01234567890'.test(/([0-9])\1{3,}/); // return false

([0-9]) 这是我们要检查的内容,在本例中是 0 到 9 之间的任何数字

\1 从第一个捕获组获取值

{3,} 检查该值是否重复 3 次或以上,因为我们已经在捕获组中找到了匹配的第一个字符。 3 + 1 = 4 自然。

关于javascript - 正则表达式阻止连续 4 次以上包含相同数字的电话号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39750585/

相关文章:

javascript - AngularJS UI 日历保留对旧事件的引用

javascript - 如何使用 Javascript 在 Repl.it 中显示输出?

php与dll通信?

PHP 数组返回的计数超出了应有的数量?

javascript - JS - 1 个字母和 6 个数字的正则表达式

python - 如何使用 pandas 数据帧的正则表达式仅提取一个捕获组?

javascript - kinetic.js 循环中多个点击事件,但只注册最后一个

javascript - javascript 脚本 'Object doesn' 的 IE 8 中出现错误,不支持此属性或方法'

php - MySQL 查询不只输出结果标题

r - 正则表达式中的负向前瞻以排除 R 中的百分比 (%)