AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > PHP编程

PHP正则表达式常用例子

51自学网 2016-09-17 http://www.wanshiok.com
"^[0-9]*[1-9][0-9]*$"  //正整数  
"^((-/d+)|(0+))$"  //非正整数(负整数 + 0)  
"^-[0-9]*[1-9][0-9]*$"  //负整数  
"^-?/d+$"    //整数  
"^/d+(/./d+)?$"  //非负浮点数(正浮点数 + 0)  
"^(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数  
"^((-/d+(/./d+)?)|(0+(/.0+)?))$"  //非正浮点数(负浮点数 + 0)  "^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数  
"^(-?/d+)(/./d+)?$"  //浮点数  
"^[A-Za-z]+$"  //由26个英文字母组成的字符串  
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串  
"^[a-z]+$"  //由26个英文字母的小写组成的字符串  
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串  
"^/w+$"  //由数字、26个英文字母或者下划线组成的字符串  
"^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$"    //email地址  
"^[a-zA-z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$"  //url  
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/  // 年-月-日  
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/  // 月/日/年  "^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$"  //Emil  /^((/+?[0-9]{2,4}/-[0-9]{3,4}/-)|([0-9]{3,4}/-))?([0-9]{7,8})(/-[0-9]+)?$/   //电话号码  "^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$"  //IP地址

匹配中文字符的正则表达式: [/u4e00-/u9fa5]  
匹配双字节字符(包括汉字在内):[^/x00-/xff]  
匹配空行的正则表达式:/n[/s| ]*/r  
匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/  
匹配首尾空格的正则表达式:(^/s*)|(/s*$)  
匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*  匹配网址URL的正则表达式:^[a-zA-z]+://(//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?$  匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$  
匹配国内电话号码:(/d{3}-|/d{4}-)?(/d{8}|/d{7})?  
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$

利用正则表达式限制网页表单里的文本框输入内容:   
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"   
用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"   用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"   用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"

    
=========常用正则式
    
匹配中文字符的正则表达式: [/u4e00-/u9fa5]    
匹配双字节字符(包括汉字在内):[^/x00-/xff]    
匹配空行的正则表达式:/n[/s| ]*/r    
匹配HTML标记的正则表达式:/<(.*)>.*<///1>|<(.*) //>/    
匹配首尾空格的正则表达式:(^/s*)|(/s*$)    
匹配IP地址的正则表达式:/(/d+)/.(/d+)/.(/d+)/.(/d+)/g //    
匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*    
匹配网址URL的正则表达式:http://(/[/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?    
sql语句:^(select|drop|delete|create|update|insert).*$

    


非负整数:^/d+$  
正整数:^[0-9]*[1-9][0-9]*$  
非正整数:^((-/d+)|(0+))$  
负整数:^-[0-9]*[1-9][0-9]*$  
整数:^-?/d+$  
非负浮点数:^/d+(/./d+)?$  
正浮点数:^((0-9)+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$  
非正浮点数:^((-/d+/./d+)?)|(0+(/.0+)?))$  
负浮点数:^(-((正浮点数正则式)))$  
英文字符串:^[A-Za-z]+$  
英文大写串:^[A-Z]+$  
英文小写串:^[a-z]+$  
英文字符数字串:^[A-Za-z0-9]+$  
英数字加下划线串:^/w+$  
E-mail地址:^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$  URL:^[a-zA-Z]+://(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/s*)?$  或:^http:////[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-&_~`@[/]/':+!]*([^<>/"/"])*$  
邮政编码:^[1-9]/d{5}$  中文:^[/u0391-/uFFE5]+$  
电话号码:^((/(/d{2,3}/))|(/d{3}/-))?(/(0/d{2,3}/)|0/d{2,3}-)?[1-9]/d{6,7}(/-/d{1,4})?$  
手机号码:^((/(/d{2,3}/))|(/d{3}/-))?13/d{9}$  
双字节字符(包括汉字在内):^/x00-/xff
 匹配首尾空格:(^/s*)|(/s*$)(像vbscript那样的trim函数)  
 匹配HTML标记:<(.*)>.*<///1>|<(.*) //>  
 匹配空行:/n[/s| ]*/r  提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(/w|//|//|/.)+('|"| *|>)?  提取信息中的邮件地址:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*  
 提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(/w|//|//|/.)+('|"| *|>)?  
 提取信息中的IP地址:(/d+)/.(/d+)/.(/d+)/.(/d+)  
 提取信息中的中国手机号码:(86)*0*13/d{9}  
 提取信息中的中国固定电话号码:(/(/d{3,4}/)|/d{3,4}-|/s)?/d{8}  
 提取信息中的中国电话号码(包括移动和固定电话):(/(/d{3,4}/)|/d{3,4}-|/s)?/d{7,14}  
 提取信息中的中国邮政编码:[1-9]{1}(/d+){5}  
 提取信息中的浮点数(即小数):(-?/d*)/.?/d+  
 提取信息中的任何数字 :(-?/d*)(/./d+)?  IP:(/d+)/.(/d+)/.(/d+)/.(/d+)  
 电话区号:/^0/d{2,3}$/  
 腾讯QQ号:^[1-9]*[1-9][0-9]*$  
 帐号(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$  
 中文、英文、数字及下划线:^[/u4e00-/u9fa5_a-zA-Z0-9]+$


说明
:本教程来源互联网或网友上传或出版商,仅为学习研究或媒体推广,wanshiok.com不保证资料的完整性。
 
上一篇:PHP中的$_SERVER详解与用法  下一篇:PHP正则表达式语法汇总