欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

10個實(shí)用的PHP正則表達(dá)式匯總

 更新時間:2014年10月23日 11:51:22   投稿:shichen2014  
這篇文章主要介紹了10個實(shí)用的PHP正則表達(dá)式匯總,非常具有實(shí)用價值,需要的朋友可以參考下

本文實(shí)例講述了10個實(shí)用的PHP正則表達(dá)式匯總,分享給大家供大家參考。具體如下:

正則表達(dá)式是程序開發(fā)中一個重要的元素,它提供用來描述或匹配文本的字符串,如特定的字符、詞或算式等。但在某些情況下,用正則表達(dá)式去驗(yàn)證一個字符串比較復(fù)雜和費(fèi)時。本文為你介紹10種常見的實(shí)用PHP正則表達(dá)式的寫法,希望對你的工作有所幫助。

1. 驗(yàn)證E-mail地址

  這是一個用于驗(yàn)證電子郵件的正則表達(dá)式。但它并不是高效、完美的解決方案。在此不推薦使用。

復(fù)制代碼 代碼如下:
$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";
}

  為了更加有效驗(yàn)證電子郵件地址,推薦使用filer_var 。

復(fù)制代碼 代碼如下:
if (filter_var('test+email@ansoncheung', FILTER_VALIDATE_EMAIL)) {
    echo "Your email is ok.";
} else {
    echo "Wrong email address format.";
}

2. 驗(yàn)證用戶名

  這是一個用于驗(yàn)證用戶名的實(shí)例,其中包括字母、數(shù)字(A-Z,a-z,0-9)、下劃線以及最低5個字符,最大20個字符。同時,也可以根據(jù)需要,對最小值和最大值做合理的修改。

復(fù)制代碼 代碼如下:
$username = "user_name12";
if (preg_match('/^[a-z\d_]{5,20}$/i', $username)) {
    echo "Your username is ok.";
} else {
    echo "Wrong username format.";
}

3. 驗(yàn)證電話號碼

  這是一個驗(yàn)證美國電話號碼的實(shí)例。

復(fù)制代碼 代碼如下:
$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.";
}

4. 驗(yàn)證IP地址

  這是一個用來驗(yàn)證IPv4地址的實(shí)例。

復(fù)制代碼 代碼如下:
$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.";
}

5. 驗(yàn)證郵政編碼

  這是一個用來驗(yàn)證郵政編碼的實(shí)例。

復(fù)制代碼 代碼如下:
$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.";
 }

6. 驗(yàn)證SSN(社會保險號)

  這是一個驗(yàn)證美國SSN的實(shí)例。

復(fù)制代碼 代碼如下:
$ssn = "333-23-2329";
if (preg_match('/^[\d]{3}-[\d]{2}-[\d]{4}$/',$ssn)) {
    echo "Your SSN is ok.";
} else {
    echo "Wrong SSN.";
}

7. 驗(yàn)證信用卡號

復(fù)制代碼 代碼如下:
$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.";
}

8. 驗(yàn)證域名

復(fù)制代碼 代碼如下:
$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.";
 }

9. 從特定URL中提取域名

復(fù)制代碼 代碼如下:
$url = "http://ansoncheung.tk/articles";
 preg_match('@^(?:http://)?([^/]+)@i', $url, $matches);
 $host = $matches[1];
echo $host;

10. 將文中關(guān)鍵詞高亮顯示

復(fù)制代碼 代碼如下:
$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程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論