1. 定义
正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式,
来检查一个字符串是否符合规则,或者将字符串中符合规则的内容提取出来
2. 举例
邮箱的验证
yjh@itlike.com
规则
1.前边可以是任意的
2.跟着一个@
3.后边可以是任意的
4.跟着一个
5.后边可以是任意的
3. 对象模式使用
1. 创建正则表达式的对象
语法: var 变量 = new RegExp("正则表达式","匹配模式");
正则表达式是一个对象
使用typeof检查正则对象,会返回object
2. 基本使用
这个正则表达式可以来检查一个字符串中是否含有1
var reg = new RegExp("1");
var reg = new RegExp("1");
var str = 'abc1';
var result = reg.test(str);
console.log(result);
3. 匹配模式
在构造函数中可以传递一个匹配模式作为第二个参数,可以是
i 忽略大小写
g 全局匹配模式
4. 字面量模式使用
1. 定义
使用字面量来创建正则表达式会更加简单一些
var reg = /a/i;
var reg = new RegExp("a","i");
2. 创建一个正则表达式,检查一个字符串中是否有a或b
reg = /a|b/;
3. 创建一个正则表达式检查一个字符串中是否有字母
[]里的内容也是或的关系
[ab] == a|b
[a-z] 任意小写字母
[A-Z] 任意大写字母
[A-z] 任意字母
[0-9] 任意数字
4. 量词
通过量词可以设置一个内容出现的次数
量词只对它前边的一个内容起作用
{n} 正好出现n次
{m,n} 出现m-n次
{m,} m次以上
+ 至少一个,相当于{1,}
* 0个或多个,相当于{0,}
? 0个或1个,相当于{0,1}
5. 匹配开头和结尾
检查一个字符串中是否以某个字符开头
^ 表示开头
$ 表示结尾
如果在正则表达式中同时使用^ $则要求字符串必须完全符合正则表达式
6. 检查一个字符串是否是一个合法手机号
1. 以1开头
2. 第二位3-9任意数字
3. 三位以后任意数字9个
^1 [3-9] [0-9]{9}$