扣丁學(xué)堂盤點(diǎn)PHP開發(fā)常用的十個正則表達(dá)式驗(yàn)證及源碼
2017-12-22 10:41:50
1418瀏覽
今天扣丁學(xué)堂給大家介紹一下關(guān)于PHP視頻教程之正則表達(dá)式驗(yàn)證介紹及代碼詳情,首先PHP正則表達(dá)式是程序開發(fā)中一個重要的元素,它提供用來描述或匹配文本的字符串,如特定的字符、詞或算式等。但在某些情況下,用正則表達(dá)式去驗(yàn)證一個字符串比較復(fù)雜和費(fèi)時。下面扣丁學(xué)堂為你總結(jié)了10種常見的實(shí)用PHP正則表達(dá)式的寫法,希望對你的工作有所幫助。
1、驗(yàn)證Email地址
這是一個用于驗(yàn)證電子郵件的正則表達(dá)式。但它并不是高效、完美的解決方案。在此不推薦使用。
$email="test@ansoncheung.tk";
if
(preg_match('/^[^09][azAZ09_]+([.][azAZ09_]+)[@][azAZ09_]+([.][azAZ09_]+)[.][azAZ]{2,4}$/',$email))
{
echo"Youremailisok.";
}else{
echo"Wrongemailaddressformat";
}
為了更加有效驗(yàn)證電子郵件地址,推薦使用filer_var。
if(filter_var('test+email@ansoncheung',FILTER_VALIDATE_EMAIL)){
echo"Youremailisok.";
}else{
echo"Wrongemailaddressformat.";
}
2、驗(yàn)證用戶名
這是一個用于驗(yàn)證用戶名的實(shí)例,其中包括字母、數(shù)字(AZ,az,09)、下劃線以及最低5個字符,最大20個字符。同時,也可以根據(jù)需要,對最小值和最大值做合理的修改。
$username="user_name12";
if(preg_match('/^[az\d_]{5,20}$/i',$username)){
echo"Yourusernameisok.";
}else{
echo"Wrongusernameformat.";
}
3、驗(yàn)證電話號碼
這是一個驗(yàn)證美國電話號碼的實(shí)例。
$phone="(021)4232323";
if(preg_match('/\(?\d{3}\)?[\s.]?\d{3}[\s.]\d{4}/x',$phone)){
echo"Yourphonenumberisok.";
}else{
echo"Wrongphonenumber.";
}
4、驗(yàn)證IP地址
這是一個用來驗(yàn)證IPv4地址的實(shí)例。
$IP="198.168.1.78";
if
(preg_match('/^(([19]?[09]|1[09]{2}|2[04][09]|25[05]).){3}([19]?[09]|1[09]{2}|2[04][09]|25[05])$/',$IP))
{
echo"YourIPaddressisok.";
}else{
echo"WrongIPaddress.";
}
5、驗(yàn)證郵政編碼
這是一個用來驗(yàn)證郵政編碼的實(shí)例。
$zipcode="123455434";
if(preg_match("/^([09]{5})([09]{4})?$/i",$zipcode)){
echo"YourZipcodeisok.";
}else{
echo"WrongZipcode.";
}
6、驗(yàn)證SSN(社會保險(xiǎn)號)
這是一個驗(yàn)證美國SSN的實(shí)例。
$ssn="333232329";
if(preg_match('/^[\d]{3}[\d]{2}[\d]{4}$/',$ssn)){
echo"YourSSNisok.";
}else{
echo"WrongSSN.";
}
7、驗(yàn)證信用卡號
$cc="378282246310005";
if
(preg_match('/^(?:4[09]{12}(?:[09]{3})?|5[15][09]{14}|6011[09]{12}|3(?:0[05]|[68][09])[09]{11}|3[47][09]{13})$/',
$cc)){
echo"Yourcreditcardnumberisok.";
}else{
echo"Wrongcreditcardnumber.";
}
8、驗(yàn)證域名
$url="http://ansoncheung.tk/";
if
(preg_match('/^(http|https|ftp):\/\/([AZ09][AZ09_](?:\.[AZ09][AZ09_])+):?(\d+)?\/?/i',
$url)){
echo"Yoururlisok.";
}else{
echo"Wrongurl.";
}
9、從特定URL中提取域名
4$url="http://ansoncheung.tk/articles";
preg_match('@^(?:http://)?([^/]+)@i',$url,$matches);
$host=$matches[1];
echo$host;
10、將文中關(guān)鍵詞高亮顯示
$text="SamplesentencefromAnsonCheung.tk,regularexpressionhasbecome
popularinwebprogramming.Nowwelearnregex.Accordingtowikipedia,Regular
expressions(abbreviatedasregexorregexp,withpluralformsregexes,regexps,
orregexen)arewritteninaformallanguagethatcanbeinterpretedbya
regularexpressionprocessor";
$text=preg_replace("/\b(regex)\b/i",'\1',$text);
echo$text;
以上就是關(guān)于十個實(shí)用的PHP正則表達(dá)式的詳細(xì)介紹,這是一篇對開發(fā)人員很有用的文章,趕緊收藏起來吧,最后想要學(xué)習(xí)PHP開發(fā)技術(shù)的小伙伴不要猶豫了,扣丁學(xué)堂是
PHP培訓(xùn)技術(shù)的最佳選擇,想要PHP視頻教程的小伙伴現(xiàn)在就聯(lián)系我們的咨詢老師領(lǐng)取吧,機(jī)會總是留給有準(zhǔn)備的人的!扣丁學(xué)堂PHP開發(fā)工程師技術(shù)交流群:374332265。
【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】
查看更多關(guān)于“php培訓(xùn)資訊”的相關(guān)文章>>
標(biāo)簽:
PHP培訓(xùn)
PHP視頻教程
PHP從入門到精通
PHP學(xué)習(xí)路線圖
PHP開發(fā)工程師