簡體   English   中英

用preg_match驗證字符串

[英]verify string with preg_match

我有一個問題,對你們所有人來說似乎很簡單,但無法真正理解。 直到現在都遇到警告。

我可以知道如何接受一個字符串,該字符串的整數為0-9和alpha a-zA-Z,但帶有preg_match至少5個字符,最多15個字符。 謝謝

嘗試這個:

preg_match('/^[0-9a-zA-Z]{5,15}$/D', $str)

這里的^標記字符串的開始和$的結尾( D修飾符是讓$僅匹配行的結尾而沒有結尾的換行符)。 這意味着整個字符串必須通過模式[0-9a-zA-Z]{5,15}進行匹配,該模式描述字符類別[0-9a-zA-Z]的5到15個字符的序列。

您在發帖中說

我怎樣才能接受具有0-9整數 alpha a-zA-Z的字符串,但是

如果該AND是一個字母,並且顯示“字母&&數字”,則情況會變得更加復雜:

 ...

 $nd = preg_match_all('/\d/', $text, $m);        # count numbers
 $na = preg_match_all('/[a-zA-Z]/', $text, $m);  # count characters
 $nn = $na + $nd;                                # must be like strlen($text)

 if($nn==strlen($text) && $nn>=5 && $nn<=15 && $na && $nd)
    echo "$text ok";
  else
    echo "$text not ok";

 ...

問候

機器人

請改用此方法,我已經在我的網站上將其作為垃圾郵件過濾器進行了測試。

if (!preg_match("/^[0-9a-zA-Z]{5,80}$/D", "$name")) 
{
die("Error Occured : Please Enter Your Name Before Attempting to Send Message");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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