[英]preg_match multiple pattern
先前的問題解釋了這樣的問題,但是我無法為我的問題實施解決方案。
我嘗試為以下對象創建模式:1.大字符2.小字符3.數字4. SpecialChar
所有這些條件必須包含我的字符串。 我可以通過以下方式檢查條件1,2,3:
[0-9A-Za-z]
我可以使用以下命令檢查條件編號4(特殊字符):
[[:punct:]]
但是我無法使它們結合起來工作:
$p = "aAbB4#"; //correct string
if(!preg_match('/([0-9A-Za-z]{4,50}|[[:punct:]])/',$p)){
$p = "Not all credentinals are correct";
}
我該怎么辦?
為此使用正向預匹配,即將每個字符放入(?=)
組中:
if (!preg_match('/^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[[:punct:]]).{4,50}$/', $p)) {
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.