如何检查字符串是否包含任何位置/顺序中的至少2个字母?不区分大小写
这当然只适用于一个或多个字母
if (!preg_match('/[a-z]+/i', $pass)) {
}
Run Code Online (Sandbox Code Playgroud)
然后我尝试了类似的东西
if (!preg_match('/[a-z]{2,}/i', $pass)) {
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用
谢谢
编辑:通过"任何位置/顺序"我的意思是12345ab/a12345b/12a345b6
你只需要这个正则表达式:
[a-z][^a-z]*[a-z]
Run Code Online (Sandbox Code Playgroud)
所以,你的PHP变成了:
if(!preg_match("/[a-z][^a-z]*[a-z]/i", $pass)) {
}
Run Code Online (Sandbox Code Playgroud)
Codeman的解决方案(([^a-z]*[a-z]){2,})工作,但效率较低,因为当你只想知道在任何地方是否有两个字母时,它需要解析整个字符串$pass.
| 归档时间: |
|
| 查看次数: |
898 次 |
| 最近记录: |