10個實用的PHP正則表達式匯總
本文實例講述了10個實用的PHP正則表達式匯總,分享給大家供大家參考。具體如下:
正則表達式是程序開發(fā)中一個重要的元素,它提供用來描述或匹配文本的字符串,如特定的字符、詞或算式等。但在某些情況下,用正則表達式去驗證一個字符串比較復雜和費時。本文為你介紹10種常見的實用PHP正則表達式的寫法,希望對你的工作有所幫助。
1. 驗證E-mail地址
這是一個用于驗證電子郵件的正則表達式。但它并不是高效、完美的解決方案。在此不推薦使用。
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 。
echo "Your email is ok.";
} else {
echo "Wrong email address format.";
}
2. 驗證用戶名
這是一個用于驗證用戶名的實例,其中包括字母、數(shù)字(A-Z,a-z,0-9)、下劃線以及最低5個字符,最大20個字符。同時,也可以根據(jù)需要,對最小值和最大值做合理的修改。
if (preg_match('/^[a-z\d_]{5,20}$/i', $username)) {
echo "Your username is ok.";
} else {
echo "Wrong username format.";
}
3. 驗證電話號碼
這是一個驗證美國電話號碼的實例。
if (preg_match('/\(?\d{3}\)?[-\s.]?\d{3}[-\s.]\d{4}/x', $phone)) {
echo "Your phone number is ok.";
} else {
echo "Wrong phone number.";
}
4. 驗證IP地址
這是一個用來驗證IPv4地址的實例。
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.";
}
5. 驗證郵政編碼
這是一個用來驗證郵政編碼的實例。
if (preg_match("/^([0-9]{5})(-[0-9]{4})?$/i",$zipcode)) {
echo "Your Zip code is ok.";
} else {
echo "Wrong Zip code.";
}
6. 驗證SSN(社會保險號)
這是一個驗證美國SSN的實例。
if (preg_match('/^[\d]{3}-[\d]{2}-[\d]{4}$/',$ssn)) {
echo "Your SSN is ok.";
} else {
echo "Wrong SSN.";
}
7. 驗證信用卡號
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.";
}
8. 驗證域名
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.";
}
9. 從特定URL中提取域名
preg_match('@^(?:http://)?([^/]+)@i', $url, $matches);
$host = $matches[1];
echo $host;
10. 將文中關鍵詞高亮顯示
$text = preg_replace("/\b(regex)\b/i", '<span style="background:#5fc9f6">\1</span>', $text);
echo $text;
希望本文所述對大家的PHP程序設計有所幫助。
相關文章
Zend Studio (eclipse)使用速度優(yōu)化方法
Zend studio7.12那速度正太讓人火大了,修改文件的保存就building workspace,要得等上好一會2011-03-03PHP實現(xiàn)檢測客戶端是否使用代理服務器及其匿名級別
這篇文章主要介紹了PHP實現(xiàn)檢測客戶端是否使用代理服務器及其匿名級別,需要的朋友可以參考下2015-01-01PHP使用curl_multi_select解決curl_multi網頁假死問題的方法
這篇文章主要介紹了PHP使用curl_multi_select解決curl_multi網頁假死問題的方法,結合實例形式分析了使用curl_multi的過程中并發(fā)處理事務導致cpu占用率過高時的解決方法,需要的朋友可以參考下2018-08-08jquery+php實現(xiàn)導出datatables插件數(shù)據(jù)到excel的方法
這篇文章主要介紹了jquery+php實現(xiàn)導出datatables插件數(shù)據(jù)到excel的方法,實例分析了jquery插件datatables的使用方法與php導出datatables數(shù)據(jù)到Excel的技巧,需要的朋友可以參考下2015-07-07