10個(gè)實(shí)用的PHP正則表達(dá)式匯總
本文實(shí)例講述了10個(gè)實(shí)用的PHP正則表達(dá)式匯總,分享給大家供大家參考。具體如下:
正則表達(dá)式是程序開發(fā)中一個(gè)重要的元素,它提供用來描述或匹配文本的字符串,如特定的字符、詞或算式等。但在某些情況下,用正則表達(dá)式去驗(yàn)證一個(gè)字符串比較復(fù)雜和費(fèi)時(shí)。本文為你介紹10種常見的實(shí)用PHP正則表達(dá)式的寫法,希望對(duì)你的工作有所幫助。
1. 驗(yàn)證E-mail地址
這是一個(gè)用于驗(yàn)證電子郵件的正則表達(dá)式。但它并不是高效、完美的解決方案。在此不推薦使用。
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";
}
為了更加有效驗(yàn)證電子郵件地址,推薦使用filer_var 。
echo "Your email is ok.";
} else {
echo "Wrong email address format.";
}
2. 驗(yàn)證用戶名
這是一個(gè)用于驗(yàn)證用戶名的實(shí)例,其中包括字母、數(shù)字(A-Z,a-z,0-9)、下劃線以及最低5個(gè)字符,最大20個(gè)字符。同時(shí),也可以根據(jù)需要,對(duì)最小值和最大值做合理的修改。
if (preg_match('/^[a-z\d_]{5,20}$/i', $username)) {
echo "Your username is ok.";
} else {
echo "Wrong username format.";
}
3. 驗(yàn)證電話號(hào)碼
這是一個(gè)驗(yàn)證美國電話號(hào)碼的實(shí)例。
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. 驗(yàn)證IP地址
這是一個(gè)用來驗(yàn)證IPv4地址的實(shí)例。
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. 驗(yàn)證郵政編碼
這是一個(gè)用來驗(yàn)證郵政編碼的實(shí)例。
if (preg_match("/^([0-9]{5})(-[0-9]{4})?$/i",$zipcode)) {
echo "Your Zip code is ok.";
} else {
echo "Wrong Zip code.";
}
6. 驗(yàn)證SSN(社會(huì)保險(xiǎn)號(hào))
這是一個(gè)驗(yàn)證美國SSN的實(shí)例。
if (preg_match('/^[\d]{3}-[\d]{2}-[\d]{4}$/',$ssn)) {
echo "Your SSN is ok.";
} else {
echo "Wrong SSN.";
}
7. 驗(yàn)證信用卡號(hào)
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. 驗(yàn)證域名
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. 將文中關(guān)鍵詞高亮顯示
$text = preg_replace("/\b(regex)\b/i", '<span style="background:#5fc9f6">\1</span>', $text);
echo $text;
希望本文所述對(duì)大家的PHP程序設(shè)計(jì)有所幫助。
- PHP使用正則表達(dá)式清除超鏈接文本
- php防止sql注入示例分析和幾種常見攻擊正則表達(dá)式
- php正則表達(dá)式匹配img中任意屬性的方法
- php使用curl和正則表達(dá)式抓取網(wǎng)頁數(shù)據(jù)示例
- php過濾HTML標(biāo)簽、屬性等正則表達(dá)式匯總
- 淺談PHP正則表達(dá)式中修飾符/i, /is, /s, /isU
- php中字符串和正則表達(dá)式詳解
- PHP正則表達(dá)式 /i, /is, /s, /isU等介紹
- php獲取超鏈接文本內(nèi)容的正則表達(dá)式(五種方法)
- WEB開發(fā)時(shí)常用的正則表達(dá)式(PHP和Javascript)
- 日常收集整理php正則表達(dá)式(超常用)
- PHP正則表達(dá)式入門教程(推薦)
相關(guān)文章
Zend Studio (eclipse)使用速度優(yōu)化方法
Zend studio7.12那速度正太讓人火大了,修改文件的保存就building workspace,要得等上好一會(huì)2011-03-03PHP實(shí)現(xiàn)檢測(cè)客戶端是否使用代理服務(wù)器及其匿名級(jí)別
這篇文章主要介紹了PHP實(shí)現(xiàn)檢測(cè)客戶端是否使用代理服務(wù)器及其匿名級(jí)別,需要的朋友可以參考下2015-01-01PHP實(shí)現(xiàn)的抓取小說網(wǎng)站內(nèi)容功能示例
這篇文章主要介紹了PHP實(shí)現(xiàn)的抓取小說網(wǎng)站內(nèi)容功能,涉及php頁面抓取、正則匹配、文件讀寫等相關(guān)操作技巧,需要的朋友可以參考下2019-06-06PHP使用curl_multi_select解決curl_multi網(wǎng)頁假死問題的方法
這篇文章主要介紹了PHP使用curl_multi_select解決curl_multi網(wǎng)頁假死問題的方法,結(jié)合實(shí)例形式分析了使用curl_multi的過程中并發(fā)處理事務(wù)導(dǎo)致cpu占用率過高時(shí)的解決方法,需要的朋友可以參考下2018-08-08jquery+php實(shí)現(xiàn)導(dǎo)出datatables插件數(shù)據(jù)到excel的方法
這篇文章主要介紹了jquery+php實(shí)現(xiàn)導(dǎo)出datatables插件數(shù)據(jù)到excel的方法,實(shí)例分析了jquery插件datatables的使用方法與php導(dǎo)出datatables數(shù)據(jù)到Excel的技巧,需要的朋友可以參考下2015-07-07php學(xué)習(xí)之?dāng)?shù)據(jù)類型之間的轉(zhuǎn)換介紹
php學(xué)習(xí)之?dāng)?shù)據(jù)類型之間的轉(zhuǎn)換介紹,學(xué)習(xí)php的朋友可以參考下。2011-06-06php7 參數(shù)、整形及字符串處理機(jī)制修改實(shí)例分析
這篇文章主要介紹了php7 參數(shù)、整形及字符串處理機(jī)制修改,結(jié)合實(shí)例形式分析了php7 參數(shù)、整形及字符串處理機(jī)制較舊版本的區(qū)別及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-05-05