常用正则验证
手机号码:/^1[34578]\d{9}$/
匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7} 如: 0755-5566778 或 021-12345678
Email地址的正则表达式:if (preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $data['email'])) {}
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />
匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配中国邮政编码:[1-9]\d{5}(?!\d) 中国邮政编码为6位数字
匹配身份证:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ 中国的身份证老版本为15位(全数字),新版18位(前17位全数字,最后一位[0-9Xx])
正则相关知识:
元字符 ^ 、d 及 $ 等这些符号,代表了特定的匹配意义,我们称之为元字符,常用的元字符如下:
元字符 | 说明 |
---|---|
. | 匹配除换行符意外的任意字符 |
w | 匹配字母或数字或下划线 |
s | 匹配任意的空白符 |
d | 匹配数字 |
b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
[x] | 匹配x字符,如匹配字符串中的 a、b 和 c 字符 |
W | w的反义,即匹配任意非字母,数字,下划线和汉字的字符 |
S | s的反义,即匹配任意非空白符的字符 |
D | d的反义,即匹配任意非数字的字符 |
B | b的反义,即不是单词开头或结束的位置 |
[^x] | 匹配除了 x 意外的任意字符,如 [^abc] 匹配除了 abc 这几个字母之外的任意字符 |