php - 正则表达式重复字符

标签 php regex

我有一个正则表达式来检查变量的最后 6 个数字是否不相同。 我不明白为什么我的正则表达式不起作用?

如果 $tel = "0601244567"没问题,但如果 $tel = "0601555555"或任何包含最后 6 个字符的内容,则不起作用。

if (!preg_match("/^0[1-79][0-9]{2}(?!(\d)\1{5}$)\d{6}$/i", $tel)) {
    $errors[] = array(
        "tel" => "Wrong phone number."
    );
}

提前致谢

最佳答案

这个正则表达式应该有效:

^(?!.*?(\d)\1{5}$)0[1-79]\d{8}$

工作演示:http://regex101.com/r/xN8nY6

关于php - 正则表达式重复字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21583059/

相关文章:

php - 从另一台连接的电脑运行 tomcat

regex - Notepad++ 如何查找带有 X 空格的行(不多不少)

c# - 复杂的正则表达式验证器

Javascript 正则表达式验证不起作用

php - 将 PHP 最大执行时间设置为 600 是否安全?

PHP printer_open 正在打印 html 标签

javascript - 通过使用 php/html 中的 java 脚本将天数与另一个输入日期字段相加来填充日期

java - java中的正则表达式匹配第一次出现的时间

regex - 如何在 awk 中使用带空格的 Sed

javascript - 对 php 的 Ajax 请求在本地主机上工作,但不在实时服务器上工作