目录
一、什么是正则表达式
正则表达式大白话就是一个能判定你的输入内容是否符合设计者规定的一个式子
二、使用步骤
1.创建方式
//是否包含x
//方式1
var reg1 = /x/;
//方式2
var reg2 = new RegExp("x")
2.使用
调用text()方法
var reg1 = /H/;
reg2.test("Hello word")//返回值为布尔类型
三,常见的正则表达式属性
1.📕 三种匹配规则
首先介绍一下正则表达式的三种匹配规则:
匹配规则符号 | 规则含义 |
i | 匹配时忽略大小写 |
g | 执行全局匹配(会匹配整个语句,而非匹配到第一个目标后终止) |
m | 执行多行匹配 |
它们的语法是这样的:
跟在表达式的尾部
//创建方式一的写法
var regexp_1 = /a/i;
var regexp_2 = /a/g;
var regexp_3 = /a/m;
//创建方式二的写法
var regexp_4 = new Regexp("a","i");
var regexp_5 = new Regexp("a","g");
var regexp_6 = new Regexp("a","m");
//组合的写法
var regexp_7 = new Regexp("a","igm");
var regexp_8 = /a/igm;
上面展示了两种正则表达式定义方法下的匹配规则的语法:
对于第一种正则表达式,我们直接在斜线后加上匹配规则对应的符号即可;
对于第二种正则表达式,我们在括号里传入第二个参数即可,参数仍然是对应的符号;
补充:其实不传入参数、斜线后面不写任何东西,代表了默认情况,也就是普通的正则匹配。
2.📕 量词
{m} | 表示出现正好m次。 |
{m,} | 表示出现至少m次。 |
{m,n} | 表示出现至少m次最多n次 |
? | 表示出现1次或者不出现 |
* | 表示出现0次或多次 |
+ | 表示出现1次或多次 |
3.📕 字符组 (默认匹配一个字符)
[abc] | 只能是a,b或者c |
[^abc] | 除了a,b或者c以外的任何字符 |
[a-z] | 小写字母a到z |
[A-Z] | 大写字母A到Z |
\d | 代表一个数字 |
\D | 代表一个非数字 |
\s | 代表一个空白字符[\t\n\xOB\f\r] |
\S | 代表一个非空字符 |
\w | 代表一个字母或数字或_ |
\W | 代表一个反非字母或数字或_的字符 |
四、练习
1.校验是否为手机号
var reg= /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/;
reg.test("157xxxxxxxx")
2.校验身份证是否合法
var reg = /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/
reg.test("xxxxxxxxxxxxxxxxxx")
总结
本文讲解了JavaScript中的正则表达式的概念和一些基本使用方法