资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
PHP 常用正则表达式 正则 平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用:d+$/非负整数(正整数 + 0) 0-9*1-90-9*$/正整数 (-d+)|(0+)$/非正整数(负整数 + 0) -0-9*1-90-9*$/ 负整数 -?d+$ /整数 d+(.d+)?$/非负浮点数(正浮点数 + 0) (0-9+.0-9*1-90-9*)|(0-9*1-90-9*.0-9+)|(0-9*1-90-9*)$/正浮点数 (-d+(.d+)?)|(0+(.0+)?)$/非正浮点数(负浮点数 + 0) (-(0-9+.0-9*1-90-9*)|(0-9*1-90-9*.0-9+)|(0-9*1-90-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 /(d2|d4)-(0(1-91)|(11|2)-(0-2(1-91)|(30|1)$/ / 年-月- 日 /(0(1-91)|(11|2)/(0-2(1-91)|(30|1)/(d2|d4)$/ / 月/日/年 (w-.+)(0-91,3.0-91,3.0-91,3.)|(w-+.)+)(a-zA-Z2,4|0-91,3)(?)$ /Emil /(+?0-92,4-0-93,4-)|(0-93,4-)?(0-97,8)(-0-9+)?$/ /电话号码 (d1,2|1dd|20-4d|250-5).(d1,2|1dd|20-4d|250-5).(d1,2|1dd|20-4d|250-5).(d1,2|1dd|20-4d|250-5)$ /IP 地址 匹配中文字符的正则表达式: u4e00-u9fa5 匹配双字节字符(包括汉字在内 ):x00-xff 匹配空行的正则表达式:ns| *r 匹配 HTML 标记的正则表达式: /.*|/ 匹配首尾空格的正则表达式:(s*)|(s*$) 匹配 Email 地址的正则表达式:w+(-+.w+)*w+(-.w+)*.w+(-.w+)* 匹配网址 URL 的正则表达式:a-zA-z+:/(w+(-w+)*)(.(w+(-w+)*)*(?S*)?$ 匹配帐号是否合法(字母开头,允许 5-16 字节,允许字母数字下划线 ):a-zA-Za-zA-Z0-9_4,15$ 匹配国内电话号码:(d3-|d4-)?(d8|d7)? 匹配腾讯 QQ 号:1-9*1-90-9*$ 元字符及其在正则表达式上下文中的行为: 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性, 也匹配 n 或 r 之后的位置。 $ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的 Multiline 属性,$ 也匹配 n 或 r 之前的位置。 * 匹配前面的子表达式零次或多次。 + 匹配前面的子表达式一次或多次。+ 等价于 1,。 ? 匹配前面的子表达式零次或一次。? 等价于 0,1。 n n 是一个非负整数,匹配确定的 n 次。 n, n 是一个非负整数,至少匹配 n 次。 n,m m 和 n 均为非负整数,其中 n .*|/ 匹配首尾空格的正则表达式:(s*)|(s*$) 匹配 Email 地址的正则表达式:w+(-+.w+)*w+(-.w+)*.w+(-.w+)* 匹配网址 URL 的正则表达式:http:/(w-+.)+w-+(/w- ./?%&=*)? 利用正则表达式限制网页表单里的文本框输入内容: 用 正则表达式限制只能输入中文: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 匹配空行的正则表达式:ns| *r 匹配 HTML 标记的正则表达式: /.*|/ 匹配首尾空格的正则表达式:(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).*$ 1、非负整数:d+$ 2、正整数:0-9*1-90-9*$ 3、非正整数:(-d+)|(0+)$ 4、负整数:-0-9*1-90-9*$ 5、整数:-?d+$ 6、非负浮点数:d+(.d+)?$ 7、正浮点数:(0-9)+.0-9*1-90-9*)|(0-9*1-90-9*.0-9+)|(0-9*1-90-9*)$ 8、非正浮点数:(-d+.d+)?)|(0+(.0+)?)$ 9、负浮点数:(-(正浮点数正则式)$ 10、英文字符串:A-Za-z+$ 11、英文大写串:A-Z+$ 12、英文小写串:a-z+$ 13、英文字符数字串:A-Za-z0-9+$ 14、英数字加下划线串:w+$ 15、E-mail 地址:w-+(.w-+)*w-+(.w-+)+$ 16、URL:a-zA-Z+:/(w+(-w+)*)(.(w+(-w+)*)*(?s*)?$ 或:http:/A-Za-z0-9+.A-Za-z0-9+/=?%-&_:+!*(.*| 24、匹配空行:ns| *r 25、提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *(|)?(w|/|.)+(| *|)? 26、提取信息中的邮件地址:w+(-+.w+)*w+(-.w+)*.w+(-.w+)* 27、提取信息中的图片链接:(s|S)(r|R)(c|C) *= *(|)?(w|/|.)+(| *|)? 28、提取信息中的 IP 地址:(d+).(d+).(d+).(d+) 29、提取信息中的中国手机号码:(86)*0*13d9 30、提取信息中的中国固定电话号码:(d3,4)|d3,4-|s)?d8 31、提取信息中的中国电话号码(包括移动和固定电话):(d3,4)|d3,4-|s)?d7,14 32、提取信息中的中国邮政编码:1-91(d+)5 33、提取信息中的浮点数(即小数):(-?d*).?d+ 34、提取信息中的任何数字 :(-?d*)(.d+)? 35、IP:(d+).(d+).(d+).(d+) 36、电话区号:/0d2,3$/ 37、腾讯 QQ 号:1-9*1-90-9*$ 38、帐号(字母开头,允许 5-16 字节,允许字母数字下划线 ):a-zA-Za-zA-Z0-9_4,15$ 39、中文、英文、数字及下划线:u4e00-u9fa5_a-zA-Z0-9+$ 这里详细的介绍了 PHP 正则表达式的原理和用法,同时也给出了一些比较常用的做网站中用到的正则表达式。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号