簡體   English   中英

preg_match多種模式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM