匹配手机号
$rule = "/^((13[0-9])|147|(15[0-35-9])|180|182|(18[5-9]))[0-9]{8}$/A";
邮箱匹配
$zhengze = '/^[a-zA-Z0-9][a-zA-Z0-9._-]*\@[a-zA-Z0-9]+\.[a-zA-Z0-9\.]+$/A';
电话匹配
$rule = '/^(((010)|(021)|(0\d3,4))( ?)([0-9]{7,8}))|((010|021|0\d{3,4}))([- ]{1,2})([0-9]{7,8})$/A';
匹配url
$rule = '/^(([a-zA-Z]+)(:\/\/))?([a-zA-Z]+)\.(\w+)\.([\w.]+)(\/([\w]+)\/?)*(\/[a-zA-Z0-9]+\.(\w+))*(\/([\w]+)\/?)*(\?(\w+=?[\w]*))*((&?\w+=?[\w]*))*$/';
匹配身份证号
$rule = '/^(([0-9]{15})|([0-9]{18})|([0-9]{17}x))$/';
匹配邮编 $rule ='/^[1-9]\d{5}$/';
匹配ip $rule = '/^((([1-9])|((0[1-9])|([1-9][0-9]))|((00[1-9])|(0[1-9][0-9])|((1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))))\.)((([0-9]{1,2})|(([0-1][0-9]{2})|(2[0-4][0-9])|(25[0-5])))\.){2}(([1-9])|((0[1-9])|([1-9][0-9]))|(00[1-9])|(0[1-9][0-9])|((1[0-9]{2})|(2[0-4][0-9])|(25[0-5])))$/';
匹配时间
$rule ='/^(([1-2][0-9]{3}-)((([1-9])|(0[1-9])|(1[0-2]))-)((([1-9])|(0[1-9])|([1-2][0-9])|(3[0-1]))))( ((([0-9])|(([0-1][0-9])|(2[0-3]))):(([0-9])|([0-5][0-9]))(:(([0-9])|([0-5][0-9])))?))?$/';
//utf8下匹配中文
$rule ='/([\x{4e00}-\x{9fa5}]){1}/u';
模式匹配符:
\:转义字符 例如:\b转义了b
^:正则表达式开始符号
$:正则表达式结束符号
*:匹配前面的字符出现0次或者n次
+:匹配前面的字符出现1次或者n次
?:匹配前面的字符出现0次或者1次
.:匹配除了换行符以外的所有单个字符
|:或者的意思,例如x|y 匹配x或者y
{n}:匹配前面的n个字符
{n,m}:匹配至少n个最多m个前面字符
[xyz]:匹配中括号里的任意一个字符
[^xyz]:匹配除了中括号里的任意一个字符等价于[0-9]
\w:匹配任意一个数字或字母或下划线 等价于[A-Za-z0-9_]
\d:匹配任意一个0--9之间的数字
模式修正符:
i:忽略大小写
常用正则表达式举例:
//用户名由6-18位的字母数字下划线组成,不能由数字开头
var r_name=/^[a-z]\w{5,17}$/i
//密码长度不能少于六位
var r_pwd=/^\w{6,}$/
//所有的通用邮箱地址
var r_eamil=/^\w+@\w+(\.)\w+$/
//匹配一个QQ邮箱地址
//861745122@qq.com
var r_qq_email=/^\d{5,}@qq(\.)com$/
//匹配一个163的邮箱地址
var r_163_email=/^\w+@163(\.)com$/
//匹配一个后缀名可能是.com|.net|.cn|.edu
var email=/^\w+@\w+(\.)com|net|cn|edu$/
//要求输入有效的年龄段
var r_age=/^\d{1,2}$/
//if(age>=18&&age《=100)
//验证手机号:11位 13 15 18开头
var r_tel=/^1[3,5,8]\d{9}$/
//验证身份证号 18位或者17位加一个X
var r_s=/^\d{18}|\d{17}x$/i
//验证中文 var reg=/^[\u4e00-\u9fa5]{2,17}$/
//php
$reg = "/^[\x{4e00}-\x{9fa5}]$/u"