《PHP實例:10個實用的PHP正則表達式匯總》要點:
本文介紹了PHP實例:10個實用的PHP正則表達式匯總,希望對您有用。如果有疑問,可以聯系我們。
PHP實戰本文實例講述了10個實用的PHP正則表達式匯總,分享給大家供大家參考.具體如下:
PHP實戰正則表達式是程序開發中一個重要的元素,它提供用來描述或匹配文本的字符串,如特定的字符、詞或算式等.但在某些情況下,用正則表達式去驗證一個字符串比較復雜和費時.本文為你介紹10種常見的實用PHP正則表達式的寫法,希望對你的工作有所贊助.
PHP實戰1. 驗證E-mail地址
PHP實戰 這是一個用于驗證電子郵件的正則表達式.但它并不是高效、完美的辦理方案.在此不推薦使用.
代碼如下:
$email = "test@ansoncheung.tk";
if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$email)) {
??? echo "Your email is ok.";
} else {
??? echo "Wrong email address format";
}
為了更加有效驗證電子郵件地址,推薦使用filer_var .
代碼如下:
if (filter_var('test+email@ansoncheung', FILTER_VALIDATE_EMAIL)) {
??? echo "Your email is ok.";
} else {
??? echo "Wrong email address format.";
}
PHP實戰2. 驗證用戶名
PHP實戰 這是一個用于驗證用戶名的實例,其中包括字母、數字(A-Z,a-z,0-9)、下劃線以及最低5個字符,最大20個字符.同時,也可以根據需要,對最小值和最大值做合理的修改.
代碼如下:
$username = "user_name12";
if (preg_match('/^[a-z\d_]{5,20}$/i', $username)) {
??? echo "Your username is ok.";
} else {
??? echo "Wrong username format.";
}
PHP實戰3. 驗證電話號碼
PHP實戰 這是一個驗證美國電話號碼的實例.
代碼如下:
$phone = "(021)423-2323";
if (preg_match('/\(?\d{3}\)?[-\s.]?\d{3}[-\s.]\d{4}/x', $phone)) {
??? echo "Your phone number is ok.";
} else {
??? echo "Wrong phone number.";
}
PHP實戰4. 驗證IP地址
PHP實戰 這是一個用來驗證IPv4地址的實例.
代碼如下:
$IP = "198.168.1.78";
if (preg_match('/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/',$IP)) {
??? echo "Your IP address is ok.";
} else {
??? echo "Wrong IP address.";
}
PHP實戰5. 驗證郵政編碼
PHP實戰 這是一個用來驗證郵政編碼的實例.
代碼如下:
$zipcode = "12345-5434";
?if (preg_match("/^([0-9]{5})(-[0-9]{4})?$/i",$zipcode)) {
?echo "Your Zip code is ok.";
?} else {
?echo "Wrong Zip code.";
?}
PHP實戰6. 驗證SSN(社會保險號)
PHP實戰 這是一個驗證美國SSN的實例.
代碼如下:
$ssn = "333-23-2329";
if (preg_match('/^[\d]{3}-[\d]{2}-[\d]{4}$/',$ssn)) {
??? echo "Your SSN is ok.";
} else {
??? echo "Wrong SSN.";
}
PHP實戰7. 驗證信用卡號
代碼如下:
$cc = "378282246310005";
if (preg_match('/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})$/', $cc)) {
??? echo "Your credit card number is ok.";
} else {
??? echo "Wrong credit card number.";
}
PHP實戰8. 驗證域名
代碼如下:
$url = "http://ansoncheung.tk/";
?if (preg_match('/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $url)) {
?echo "Your url is ok.";
?} else {
?echo "Wrong url.";
?}
PHP實戰9. 從特定URL中提取域名
代碼如下:
$url = "http://ansoncheung.tk/articles";
?preg_match('@^(?:http://)?([^/]+)@i', $url, $matches);
?$host = $matches[1];
echo $host;
PHP實戰10. 將文中關鍵詞高亮顯示
代碼如下:
$text = "Sample sentence from AnsonCheung.tk, regular expression has become popular in web programming. Now we learn regex. According to wikipedia, Regular expressions (abbreviated as regex or regexp, with plural forms regexes, regexps, or regexen) are written in a formal language that can be interpreted by a regular expression processor";
$text = preg_replace("/\b(regex)\b/i", '<span style="background:#5fc9f6">\1</span>', $text);
echo $text;
PHP實戰希望本文所述對大家的PHP程序設計有所贊助.
維易PHP培訓學院每天發布《PHP實例:10個實用的PHP正則表達式匯總》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/14430.html