我用这个…我在一些网站上看到这个…但它并没有很好地帮助我。
if(preg_match("/^[A-Za-z0-9-_'",''s]+$/",$newPass)) {
//is valid..
}
如果要测试字符串是否至少包含一个字母数字字符串和至少包含一个非字母数字字符串,请使用以下正则表达式:
/^(?=.*[a-z0-9])(?=.*[^a-z0-9])/i
分手:
-
/
开始的正则表达式 -
^
匹配字符串 的开头 -
(?=
,如果存在以下情况:-
.*
任何内容(除了换行符),然后 -
[a-z0-9]
一个字母数字字符
-
-
)
forward结束 -
(?=
,如果出现以下情况:-
.*
任何内容(除了换行符),然后 -
[^a-z0-9]
非字母数字字符
-
-
)
forward结束 -
/
regex结尾 -
i
不区分大小写
用法:
if(preg_match("/^(?=.*[a-z0-9])(?=.*[^a-z0-9])/i",$newPass)) {
//is valid..
}
如果你要求字母和数字同时出现,用两个替换第一个前瞻:
/^(?=.*[a-z])(?=.*[0-9])(?=.*[^a-z0-9])/i