正则表达式

2018-11-1 小若 基础JavaScript学习录

定义

正则表达式用于定义一些字符串的规则,计算机可以根据正则表达式,来检查一个字符串是否符合规则,或者将字符串中符合规则的内容提取出来

举例   

邮箱的验证   

xiaoruo521@foxmail.com   

规则:

1.前边可以是任意的

2.跟着一个@

3.后边可以是任意的

4.跟着一个.

5.后边可以是任意的


对象模式使用

创建正则表达式的对象

语法:    var 变量 = new RegExp("正则表达式","匹配模式");

正则表达式是一个对象    使用typeof检查正则对象,会返回object


基本使用

var reg = new RegExp("1");    //这个正则表达式可以来检查一个字符串中是否含有1

例子:

var reg = new RegExp("1");
var str = 'abc1';
var result = reg.test(str);
console.log(result);


匹配模式

在构造函数中可以传递一个匹配模式作为第二个参数,可以是 i 忽略大小写     g 全局匹配模式


字面量模式使用

定义

使用字面量来创建正则表达式会更加简单一些

var reg = /a/i;

var reg = new RegExp("a","i");


创建一个正则表达式,检查一个字符串中是否有a或b    reg = /a|b/;


创建一个正则表达式检查一个字符串中是否有字母    

  • []里的内容也是或的关系
  • [ab] == a|b
  • [a-z] 任意小写字母
  • [A-Z] 任意大写字母
  • [A-z] 任意字母
  • [0-9] 任意数字


量词

通过量词可以设置一个内容出现的次数

量词只对它前边的一个内容起作用

  • {n} 正好出现n次
  • {m,n} 出现m-n次
  • {m,} m次以上
  • + 至少一个,相当于{1,}
  • * 0个或多个,相当于{0,}
  • ? 0个或1个,相当于{0,1}


匹配开头和结尾

检查一个字符串中是否以某个字符开头

  • ^ 表示开头
  • $ 表示结尾

如果在正则表达式中同时使用^ $则要求字符串必须完全符合正则表达式


检查一个字符串是否是一个合法手机号

1. 以1开头
2. 第二位3-9任意数字
3. 三位以后任意数字9个

^1   [3-9]  [0-9]{9}$ 


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

  • \. 来表示.
  • \\  表示\
  • \w    任意字母、数字、_  [A-z0-9_]
  • \W    除了字母、数字、_  [^A-z0-9_]
  • \d    任意的数字 [0-9]
  • \D    除了数字 [^0-9]
  • \s    空格
  • \S    除了空格
  • \b    单词边界
  • \B    除了单词边界

标签: javascript 正则表达式

发表评论:

Powered by emlog 备案号:豫ICP备18002778号