一、正则表达式 (一种对象)
含义:是用于匹配字符串中字符组合一种模式
作用:
1.可以匹配要求的字符串
2.可以过滤敏感词
3.可以在字符串中提取我们想要的关键字
特点 :灵活性强,逻辑能力高;可以极简单地达到字符串的控制
二、创建正则表达式
1.通过RegExp对象构造函数创建
var 变量名 = new RegExp(/表达式/);
2.通过字面量来创建
var 变量名 = /表达式/
三、检测是否是正确的正则表达 test方法
regexp.test(str)
前面的regexp是正则变量名,str是测试文本 返回的结果是true或者false
四、正则表达式的组成
1.边界符 ^和 ^必须以这个开头 必须以这个结尾
/^ $/是精确匹配;
2.字符类[]表示一系列的字符里面只要包含了【】里面的某一个字符就返回true
var rg2 = /^[abc]$/ //三选一 ,只有是a 或者b 或者c 的中间的一个才可以返回true
3.【-】导航线 就是-前面和后面的选定一个范围
- 字符组合
var rg3 = /^[a-zA-Z]$/;/* 小写字母a-z,加多一个A-Z就把大写字母也包含了 */
var rg3 = /^[a-zA-Z0-9_-]$/;/* 再多加0-9的数组组合 再加下划线和到航线*/
var rg3 = /^[^a-zA-Z0-9_-]$/;
/* 注意要是在【】里面加上^这个就是代表取反*/
5.量词符 设置某个模式下出现的次数 简单的说就是让某个字符重复出现多少次
1.相当于》=0 可以出现0次或者很多次
2.? 等价于{0,1},表示出现或者不出现。记忆方式:问号的意思表示,有吗?
3.+等价于{1,},表示出现至少一次。记忆方式:加号是追加的意思,得先有一个,然后才考虑追加。
4.*等价于{0,},表示出现任意次,有可能不出现。记忆方式:看看天上的星星,可能一颗没有,可能零散有几颗,可能数也数不过来。
5.{n}就是重复n次
6.{n,}重复出现就是要大于等于n次以上
7.{n,m}大于等于n小于等于m
注意:花括号里面不要存在空格;
[]代表里面的其中一个;
{}代表重复多少次;
()把字符串看成整体;
五.正则表达式的预定义类(某些常见的类型简写)
\d:匹配0-9 【0-9】
\D:匹配除0-9以外的【^0-9】
\w:匹配任意字母、数字、下划线 【a-zA-Z0-9_】
\W;匹配除任意字母、数字、下划线
\s:匹配空格 包括换行符、制表符、空格等等 【\t\r\n\v\f】
\S:匹配除空格的字符