JS 正则表达式
JS 正则表达式
时间:2016-04-20 10:44:47
作者:zhongxia
正则表达式在 JS 校验中,是 一个非常常用的知识点. 各种表单的验证,字符串验证等 都可以使用 正则表达式来快速的实现
常用的方式
例子:校验邮编
var re = /^\d{6}$/; //不同的验证,使用不同的正则表达式,至于提示信息,可以自定义
return re.test(str);
}
isPostCode('1231231') false
isPostCode('123412) true
正则表达式的语法
-
var reg = new RegExp('zhongxia','i')
是否含有zhongxia,不区分大小写参数1: 匹配的字符串 参数2: 匹配的选项标志: i 不区分大小写 g 全局搜索 m 多行查找
-
当然 定义 正则表达式还有另外一种方法
var reg = /a/i
-
常用的几个方法:
- test 返回true,false ,校验中,最常用
- exec 不匹配返回null
- match
- replace
- search 不匹配返回 -1
- split
-
使用元字符必须转移 元字符有:
( [ { \ ^ $ | ) ? * + .
var re = /?/ (Error)
var re = /\?/ (Yes) -
使用RegExp构造函数与使用正则表达式字面量创建正则表达式注意点
var str = "\?";
alert(str);//只会输出?
var re = /\?/;//将匹配?
alert(re.test(str));//true
re = new RegExp("\?");//出错,因为这相当于re = /\?/
re = new RegExp("\\?");//正确,将匹配?
alert(re.test(str));//true -
常用 /^start/ //脱字符(^)代表字符开始位置
/start$/ //$表示字符结束位置判断输入的字符是否为英文字母
var reg=/^[a-zA-Z]+$/;
判断输入的字符是否为整数
var reg=/^[-+]?\d*$/;
判断输入的字符是否为:a-z,A-Z,0-9
var reg=/^[a-zA-Z0-9_]+$/;
判断输入的字符是否为中文
var reg=/^[\u0391-\uFFE5]+$/;
判断输入的EMAIL格式是否正确
var reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
判断输入的邮编(只能为六位)是否正确
reg=/^\d{6}$/;
Phone : /^(((\d{2,3}))|(\d{3}-))?((0\d{2,3})|0\d{2,3}-)?[1-9]\d{6,7}(-\d{1,4})?$/
Mobile : /^(((\d{2,3}))|(\d{3}-))?13\d{9}$/
Url : /^http:\/\/[A-Za-z0-9]+.[A-Za-z0-9]+[\/=\?%-&_~`@[]\':+!]([^<>\"\"])$/
IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/
QQ : /^[1-9]\d{4,8}$/
某种特殊金额:/^((\d{1,3}(,\d{3})*)|(\d+))(.\d{2})?$/ //说明:除“XXX XX,XXX XX,XXX.00”格式外