本文介绍了重复字符或增量字符的前缀匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用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
}
这篇关于重复字符或增量字符的前缀匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!