沃梦达 / 编程问答 / php问题 / 正文

重复字符或增量字符的前缀匹配

preg match for repeating or incremental characters(重复字符或增量字符的前缀匹配)

本文介绍了重复字符或增量字符的前缀匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用preg Match验证密码为:

(preg_match("/^.*(?=.{5,}).*$/", $password)

也接受特殊字符。

但由于某些原因,我需要修改它以接受

  • 仅字母数字
  • 至少5个字符长度
  • 并且非常重要的是,它不能有任何重复的或 递增字符,如:aaaa或12345或abc123等

推荐答案

if (preg_match(
    '%^           # Start of string
    (?!.*(.)1)   # Assert no repeated characters
                  # Assert no sequential digits/characters
    (?!.*(?:01|12|23|34|45|56|67|78|89|90|
            ab|bc|cd|de|ef|fg|gh|hi|ij|jk|
            kl|lm|mn|no|op|pq|qr|rs|st|tu|
            uv|vw|wx|xy|yz))
    [a-z0-9]{5,}  # Match at least five alnum characters
    $             # End of string%ix', 
    $password)) {
    # Successful match
    }

这篇关于重复字符或增量字符的前缀匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:重复字符或增量字符的前缀匹配

基础教程推荐