14-javaScript-正则表达式

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}$  

5. 检查一个字符串中是否含有特殊符号

推荐阅读更多精彩内容