一.创建正则表达式对象
1.var reg=new RegExp("正则表达式",“匹配模式”)
2.var reg=/正则表达式/匹配模式(i表示不区分大小写 g表示全局匹配)
二.正则表达式的方法
正则表达式对象.test("字符串")
返回结果:有返回true,没有返回false
三.正则表达式的一些用法及规则
从最简单的开始:
1.匹配一个字母
/a/
2.匹配多个字母
/a|b|c/ 或 /[abc]/
3.匹配的内容为小写字母
/[a-z]/
4.匹配的内容为大写字母
/[A-Z]/
5.匹配要求为字母
/[A-z]/
6.匹配的内容为数字
/[0-9]/
7.匹配内容为 abc或adc或aec
/a[bde]c/
8.[^]表示除了
9.量词
--通过量词可以设置一个内容出现的次数
--{n}表示出现n次
--只针对量词前面的一个内容
--{m,n}表示出现m次至n次
--{m,}表示出现m次以上
--*表示出现0次及以上 {0,}
--+表示出现1次及以上 {1,}
--?表示出现0次到1次 {0,1}
10.检查字符串的开头
例如:检查一个字符串是否以a开头
^表示开头 注意区分[^a](表示除了a)
/^a/
11.检查字符串的结尾
例如:检查一个字符串是否以a结尾
/a$/
$表示结尾
12.若^$同时使用,则字符串必须严格遵守正则表达式,不能仅停留在包含符合正则表达式规则的字符串
13.检查字符串中是否含有.
/\./
注意:使用构造函数时,它的参数是一个字符串,要有\转义字符
14.检查是否含有\
/\\/
15.
\w 任意字母数字下划线
\W 除任意字母数字下划线
\d 任意数字[0,9]
\D 除任意数字[^0-9]
\s 空格
\S 除空格
\b 边界
\B 除单词边界
16.检查单词
/\bchild\b/
去除前面和后面的空格空格
str.replace(/^\s*|\s*$/g,"");
四.字符串与正则表达式
这里简单介绍和正则表达式相关的4个方法
1.split()方法
--将一个字符串拆分成一个数组
--拆分标志可通过正则表达式设置
例如:以字母作为拆分标志
str.split(/A-z/);
--不需要为正则表达式设置全局匹配
2.seach()方法
--搜索字符串中是否含有指定内容,并返回第一个符合条件的内容的位置
--查找内容可用正则表达式设置
例如:查找 abc或adc或aec
str.seach(/a[bde]c)
--正则表达式的匹配模式对其无效
3.match()
--提取字符串中符合条件的内容
--可设置多个匹配模式(gi)
例如:提取字符串中的字母
str.match(/A-z/gi)
4.replace(被替换的字符串,新字符串)
--替换字符串指定的内容
str.replace(/[a-z]/gi,"@_@")
五.正则表达式的应用
1.创建一个正则表达式,检查资格字符串是否为手机号
要求:
--11位
--第一位:1
--第二位:3-9
第三位及以后:任意数字
^1 [3,9] [0,9]{9}$
/^1[3,9][0,9]{9}$/
2.电子邮件的正则表达式
格式:
任意字母数字下划线 . 任意字母数字下划线 @ 任意字母数字 . 任意字母(2-5位)
^\w (\.\w)* @ [A-z 0-9] \. [A-z]{2,5]$(不一定正确)