正则表达式以避免相等数字和序列数字



我正在寻找符合我要求的正则表达式。但是我找不到确切的.

我的要求是

添加验证检查以避免电话号码:

1( 6 位数字相等(例如 000000 ; 111111(
2( 序列号(7 位((例如 1234567 ;7654321(

我尝试并最终得到了这段代码

if (preg_match('/(d)1{5}/', $phone)) {    
     echo "Invalid Phone number";
}

但它只匹配第一种情况。希望有人能帮助我。提前感谢!

这是我脱离正则表达式的时候之一。

这将执行预期的验证(并包括"全天候"编号规则(。

PHP演示

$phone='000000';
$len=strlen($phone);
$rnd_the_clk='0123456789012345';
if(($len==6 && $phone==str_repeat($phone[0],6))  // length is 6, check only one integer used
    ||
   ($len==7 && (strpos($rnd_the_clk,$phone)!==false || strpos($rnd_the_clk,strrev($phone))!==false))){ // length is 7, check sequential
    echo "invalid";   
}else{
    echo "valid";
}

最新更新