专栏中心

EEPW首页 > 专栏 > PHP开发常用的正则表达式验证及源码有哪些

PHP开发常用的正则表达式验证及源码有哪些

发布人:扣丁学堂 时间:2020-07-07 来源:工程师 发布文章

今天扣丁学堂给大家介绍一下关于PHP视频教程之正则表达式验证介绍及代码详情,首先PHP正则表达式是程序开发中一个重要的元素,它提供用来描述或匹配文本的字符串,如特定的字符、词或算式等。但在某些情况下,用正则表达式去验证一个字符串比较复杂和费时。下面扣丁学堂为你总结了10种常见的实用PHP正则表达式的写法,希望对你的工作有所帮助。 

2.png

 

扣丁学堂盘点PHP开发常用的十个正则表达式验证及源码  

1、验证Email地址  

这是一个用于验证电子邮件的正则表达式。但它并不是高效、完美的解决方案。在此不推荐使用。  

$email="test@ansoncheung.tk";  

if  

(preg_match('/^[^09][azAZ09_]+([.][azAZ09_]+)[@][azAZ09_]+([.][azAZ09_]+)[.][azAZ]{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、验证用户名  

这是一个用于验证用户名的实例,其中包括字母、数字(AZ,az,09)、下划线以及最低5个字符,最大20个字符。同时,也可以根据需要,对最小值和最大值做合理的修改。  

$username="user_name12";  

if(preg_match('/^[az\d_]{5,20}$/i',$username)){  

echo"Yourusernameisok.";  

}else{  

echo"Wrongusernameformat.";  

}  

3、验证电话号码  

这是一个验证美国电话号码的实例。  

$phone="(021)4232323";  

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('/^(([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、验证邮政编码  

这是一个用来验证邮政编码的实例。  

$zipcode="123455434";  

if(preg_match("/^([09]{5})([09]{4})?$/i",$zipcode)){  

echo"YourZipcodeisok.";  

}else{  

echo"WrongZipcode.";  

}  

6、验证SSN(社会保险号)  

这是一个验证美国SSN的实例。  

$ssn="333232329";  

if(preg_match('/^[\d]{3}[\d]{2}[\d]{4}$/',$ssn)){  

echo"YourSSNisok.";  

}else{  

echo"WrongSSN.";  

}  

7、验证****号  

$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、验证域名  

$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、将文中关键词高亮显示  

$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;  

以上就是关于十个实用的PHP正则表达式的详细介绍,这是一篇对开发人员很有用的文章,赶紧收藏起来吧。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

基于PXI的大型现场测试系统构建与管理

视频 2012-05-15

Finextra与Cloudera发布报告显示:混合AI已成为金融服务领域的新标准,91%的受访者认为其极具价值

三季度中国折叠屏手机市场回暖,Huawei持续领先

Omdia:6G与AI投资将推动全球通信产业增长

多阶段检测如何防止 AI 处理器中的静默数据损坏

国防工业检测的特殊性及策略

视频 2012-05-15

工业级13端口USB集线器面向嵌入式应用程序

集成内置遥测功能的芯片助力AI分析

EDA/PCB 2025-11-11

SMD 焊接指南

资源下载 2007-02-16

面向军工的自动化测试,维护与诊断

电路板级可测试性设计与验证评估技术

视频 2012-05-15

凝芯聚力行致远·链动未来拓新篇——写在IC China 2025即将召开之际

2025-11-11

S-HS固态继电器原理与应用

卫星导航产品模拟测试技术及应用

视频 2012-05-15

SM2965应用笔记

资源下载 2007-02-16

从电网到栅极:赋能第三次能源革命

Memories.ai联合高通推出大型视觉记忆模型2.0

射频模块整合无线物联网核心功能

SMC1602A LCM使用说明书

更多 培训课堂
更多 焦点
更多 视频

技术专区