10个实用的PHP正则表达式汇总
本文实例讲述了10个实用的PHP正则表达式汇总,分享给大家供大家参考。具体如下:
正则表达式是程序开发中一个重要的元素,它提供用来描述或匹配文本的字符串,如特定的字符、词或算式等。但在某些情况下,用正则表达式去验证一个字符串比较复杂和费时。本文为你介绍10种常见的实用PHP正则表达式的写法,希望对你的工作有所帮助。
1.验证E-mail地址
这是一个用于验证电子邮件的正则表达式。但它并不是高效、完美的解决方案。在此不推荐使用。
$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"Youremailisok."; }else{ echo"Wrongemailaddressformat"; }
为了更加有效验证电子邮件地址,推荐使用filer_var。
if(filter_var('test+email@ansoncheung',FILTER_VALIDATE_EMAIL)){ echo"Youremailisok."; }else{ echo"Wrongemailaddressformat."; }
2.验证用户名
这是一个用于验证用户名的实例,其中包括字母、数字(A-Z,a-z,0-9)、下划线以及最低5个字符,最大20个字符。同时,也可以根据需要,对最小值和最大值做合理的修改。
$username="user_name12"; if(preg_match('/^[a-z\d_]{5,20}$/i',$username)){ echo"Yourusernameisok."; }else{ echo"Wrongusernameformat."; }
3.验证电话号码
这是一个验证美国电话号码的实例。
$phone="(021)423-2323"; if(preg_match('/\(?\d{3}\)?[-\s.]?\d{3}[-\s.]\d{4}/x',$phone)){ echo"Yourphonenumberisok."; }else{ echo"Wrongphonenumber."; }
4.验证IP地址
这是一个用来验证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"YourIPaddressisok."; }else{ echo"WrongIPaddress."; }
5.验证邮政编码
这是一个用来验证邮政编码的实例。
$zipcode="12345-5434"; if(preg_match("/^([0-9]{5})(-[0-9]{4})?$/i",$zipcode)){ echo"YourZipcodeisok."; }else{ echo"WrongZipcode."; }
6.验证SSN(社会保险号)
这是一个验证美国SSN的实例。
$ssn="333-23-2329"; if(preg_match('/^[\d]{3}-[\d]{2}-[\d]{4}$/',$ssn)){ echo"YourSSNisok."; }else{ echo"WrongSSN."; }
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"Yourcreditcardnumberisok."; }else{ echo"Wrongcreditcardnumber."; }
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"Yoururlisok."; }else{ echo"Wrongurl."; }
9.从特定URL中提取域名
$url="http://ansoncheung.tk/articles"; preg_match('@^(?:http://)?([^/]+)@i',$url,$matches); $host=$matches[1]; echo$host;
10.将文中关键词高亮显示
$text="SamplesentencefromAnsonCheung.tk,regularexpressionhasbecomepopularinwebprogramming.Nowwelearnregex.Accordingtowikipedia,Regularexpressions(abbreviatedasregexorregexp,withpluralformsregexes,regexps,orregexen)arewritteninaformallanguagethatcanbeinterpretedbyaregularexpressionprocessor"; $text=preg_replace("/\b(regex)\b/i",'<spanstyle="background:#5fc9f6">\1</span>',$text); echo$text;
希望本文所述对大家的PHP程序设计有所帮助。