正则表达式

正则表达式:
1、定义:用来操作和检验字符串数据的工具
2、写法:1)new RegExp('规则');
new RegExp('规则','选项');
2) /规则/选项 注:多个选项可以直接写
选项:
1)i ignore 忽略大小写
2)m muti-line 多行模式
3)g global 全局匹配
3、基本语法:
3.1、匹配不同类型的字符
\d 匹配一个数字字符==[0-9]
\D 匹配一个非数字字符==[^0-9]
\w 匹配数字字母下划线==[A-Za-z0-9_]
\W 匹配非数字字母下划线字符==[^A-Za-z0-9_]
\s 匹配任何空白字符,包括空格、制表符、换页符等等==[\f\n\r\t\v]
\S 匹配任何非空白字符==[^\f\n\r\t\v]
. 任一字符
[...] 括号中的任一字符
[^...] 非括号中的任一字符
3.2、定位控制字符
^ 字符串的开始
$ 字符串的结束
\b boundary边界 分隔单词
3.3、指定重复字符
{n} 匹配前面的字符n次
{n,} 匹配前面的字符最少n次
{n,m} 匹配前面的字符n至m次
? 匹配前面的字符0次1次
+ 匹配前面的字符至少1次
* 匹配前面的字符至少0次
3.4、特殊控制类
| 或者,可以是|两边的任一个表达式
3.5、特殊字符转义
\\ 匹配'\'
\. 匹配'.'
\* 匹配'*'
\(
\)
\?
\+
\|
\{
\}
\^
\$
\n 匹配换行符
\r 匹配回车
\t 匹配tab
\v 匹配垂直制表符
\f 匹配换页符
\nnn 匹配一个三位八进制数指定的ASCII字符
\xnn 匹配一个二位16进制数指定的ASCII字符
\unnnn 匹配一个4位16进制数指定的Unicode字符
\cV 匹配一个控制字符
4、用法
1)search 查找
str.search(re);
2)match 匹配
str.match(re);
3)test 检验,测试,验证
re.test(str);
5、例子
1)校验年龄18-100
/^(1[89])|([2-9]\d)|(100)$/
2)校验邮箱
caocao@qq.com
名字 @ 域名 域名后缀
(\w)+@[a-zA-Z0-9\-]+(\.[a-zA-Z]{2,6}){1,2}

posted @ 2015-09-09 00:00  程序媛Wendy  阅读(166)  评论(0编辑  收藏  举报