匹配' abc',' xyz',' hij',' 678'或者' 789'

时间:2017-01-12 09:53:54

标签: regex password-protection

我有一个规范来创建不允许用户按顺序创建密码,例如' abc' xyz',' hij',' 678& #39;或者' 789'。

我已经搜索了一种方法来执行此操作。

我找到了匹配' aaa'或者' 777'。

我如何匹配序列,例如' abc',' xyz',' hij',' 678'和' 789'?

谢谢。

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容:已经回答

function inSequence($string, $num = 4) {
    $i = 0;
    $j = strlen($string);
    $str = implode('', array_map(function($m) use (&$i, &$j) {
        return chr((ord($m[0]) + $j--) % 256) . chr((ord($m[0]) + $i++) % 256);
    }, str_split($string, 1)));
    return preg_match('#(.)(.\1){' . ($num - 1) . '}#', $str);
}