【发布时间】:2015-11-04 00:20:18
【问题描述】:
我正在研究一个正则表达式来验证一个字符串,
- 包含字母数字值
- 连续包含不超过 4 次相同字符(如 aaaaa 或 222222)
- 总长度应在 6 到 15 之间
我正在使用以下正则表达式,但它不适用于输入 => String1bbbbb
/^(?=.*[a-z])(?=\S*[A-Z])(?=\S*[0-9])(?!.*[\w{4,}])[a-zA-Z0-9]{6,15}+$/i
if(preg_match('/^(?=.*[a-z])(?=\S*[A-Z])(?=\S*[0-9])(?!.*[\w{4,}])[a-zA-Z0-9]{6,15}+$/i', $string)) {
echo "Valid String";
} else {
echo "invalid String";
}
使用否定前瞻来验证相同的字符,如下所示
(?!.*[\w{4,}])
任何帮助将不胜感激。
【问题讨论】:
标签: php regex preg-match