1. 正则表达(RegExp)
1.1正则表达之定义
1.1.1 var pattern=new RegExp("模式字符串","模式修饰符") / /模式修饰符有 i:忽略大小写,g:全局匹配,m: 多行匹配 (ignore,global,multiply)
注意:若引号中需要使用反斜杠,需使用转义字符
eg: var pattern=new RegExp("\\d{6}");
1.1.2 var pattern=/模式字符串/模式修饰符
eg: var pattren=/\d{6}/;
1.2重复匹配单个字符
- * //零到多个匹配
- + // 一到多个匹配
- ? //零或一个匹配
- (n) //重复n次
- (n,) //重复n或更多次
- (n,m) //至少重复n次,至多重复m次
1.3范围即预订模式
- [a-z] //匹配26个小写字母中任一个
- [0-9] //匹配0-9中任一个数字
- [a-zA-Z0-9] //匹配a-z或A-Z或0-9中任意字符
- [^0-9] //匹配不是0-9中的任意字符
- ^[0-9] //首行匹配0-9中任意字符
- [...] //在集合中任意字符
- [^...] //不在集合中任意字符
- . //除换行之外的任意字符
- \w //匹配大小写字母,数字,下划线
- \W // \w的补集
- \d //匹配0-9数字
- \D // \d的补集
- \s //所有空白字符,包括空格和制表符
- \S // \s的补集
- \b //单词边界
- \B //非单词边界
1.4分组匹配
()
1.5应用
- 手机号码 /\d{11}/
- 电话号码 /\d{3,4}-\d{7,8}/
- 身份证 /^(\d{15}|\d{18})$/
- 邮箱 /^[\w-]+(\.[\w-])*@[\w-]+(\.[\w-]+)+$/
- 邮政编码 /^[1-9][0-9]{5}/
- 文件名 /\w+\.zip|gz|rar/
- 中文 /\u4e00-\u9fa5/
2.正则表达中常用方法
2.1正则表达式对象的方法
- test() //测试串中是否有合乎匹配的模式,返回true,false
- exec() //如果有匹配字符串,则返回匹配字符串,否则返回null
-
<script> var str="visit w3cSchool" var pattern=/w3cSchool/g; var result; while((result=pattern.exec(str))!=null){ alert(result); //w3cSchool } </script>
- compile() //编译正则表达式
2.2 String对象中的正则表达式
- match(pattren) //返回匹配字符串
- replace(pattern,"string") //返回匹配后的字符串
- split(pattern) //分割
- search() //查找,若找到返回第一个匹配位置,否则返回-1