刚刚学正则表达式,以下所写只是正则的基本知识,如以后进行更深入的学习会再做补充的。
1.定义正则表达式:
#普通方式:var reg=/表达式/附加参数
eg: var reg=/white/;
var reg=/white/g
#构造函数:var reg=new RegExp("表达式",“附加参数”)
eg: var reg=new RegExp("white");
var reg=new RegExp("white","g")
推荐使用普通方式,它更简洁!
2.表达式的模式:
#普通模式:var reg=/china/;
var reg=/abc8/.
#复合模式:var reg=/^\w+$/;
var reg=/^\w+@\w+(.[a-zA-Z]{2,3})?$/;
3.正则表达式对象的方法:
方法
描述
exec
检索字符中是正则表达式的匹配,返回找到的值,并确定其位置
test
检索字符串中指定的值,返回true或false
toSource
返回RegExp对象的源代码
toString
将RegExp对象转换成字符串
match
找到一个或多个正则表达式的匹配
search
检索与正则表达式相匹配的值
replace
替换与正则表达式匹配的字符串
split
把字符串分割为字符串数组
4.正则表达式的常用符号:
字符类
代码/语法
说明
\w
匹配任何ASCII单字符[a-zA-Z0-9]
\W
匹配任何ASCII单字符之外的字符
\s
匹配任何Unicode空白符
\S
匹配任何Unicode空白符之外的字符
\d
匹配任何数字[0-9]
\D
匹配任何数字之外的字符
[.....]
匹配方括号中的所有字符
[^.....]
匹配非方括号中的所有字符
重复类
代码/语法
说明
{n}
匹配前一项n次
{n,}
匹配前一项至少n次,至多不限
{n,m}
匹配前一项至少n次,最多m次
{?}
匹配前一项0次或者1次
{+}
匹配前一项至少1次
{*}
匹配前一项0次或者多次
定位符
代码\语法
说明
^
匹配字符串的开头
$
匹配字符串的结尾
\b
匹配一个单词的边界
\B
匹配一个非单词的边界
分组
代码\语法
说明
(......)
将几个项目组合成一个单元
(?......)
与(......)类似,只是不记忆与该组合所匹配的内容
标志
代码\语法
说明
i
匹配时不区分大小写
g
匹配时执行全局匹配
m
匹配时执行多行匹配
选择符:| 分隔可以用来选择的句子
最后,给两个例子:
示例一:
对年龄进行验证,年龄必须在0-120岁之间
分析:
1.10-99这个范围都是两位数,十位是1-9,个位是0-9,正则表达式是[0-9]\d。
2.0-9这个范围是一位,正则表达式为\d。
3.100-119这个范围是三位数,百位是一,十位是0-1,个位是0-9,正则表达式为1[0-1]\d。
4.根据以上可知,所有年龄的个位数都是0-9,当百位是1是十位是0-1,当年龄为两位数是十位是1-9,因此0-119这个范围的正则表达式为(1[0-1]|[1-9])?\d。
5.年龄是120是单独的一种情况需要单独列出来。
示例二:
1.中国的邮政编码都是6位
2.手机号码都是11位,并且第1位都是1
3.邮政编码和手机号码的验证的正则表达式
var regCode=/^\d{6}$/;
var regMobile=/^1\d{10}$/;
原文:http://www.cnblogs.com/liuyanping/p/4523453.html