js高级之正则表达式

理论基础:
正则表达式:也叫规则表达式,按照一定的规则组成一个表达式
作用:匹配字符串的
组成:由元字符或者限定组成的一个式子

常用元字符:?
.表示除了\n以外任意一个字符>>>例:22sqws
[]表示的是范围>>>[0-9] 0-9任意一个数>>>例:234
例:100-199之间的数字 [1][0-9][0-9]
[a-z]表示小写字母中任意一个
[A-Z]表示大写字母中任意一个
[a-zA-Z]表示的是所有字母中的任意一个
[0-9a-zA-Z]表示所有的数字或所有的字母中任意一个
[]另外一个意义:把正则表达式中的意义干掉 [.] >>>表示的就是一个.
|表示的是或者的意思 [0-9]|[a-z] 要么是一个数字,要么是一个小写字母
() 表示的是分组,和提升优先级 ([0-9])|([a-z])|([A-Z])

以下叫元字符,也叫限定符:?
* 表示的是:前面的表达式出现了0次到多次
例: [0-9][a-z]* "99"可以匹配
+ 表示:前面的表达式出现了1次到多次
例:[0-9][a-z]+ "99"不可以匹配
? 表示的是:前面的表达式出现了0次到1次
例: [4][a-z]? “1231234ab” 不能匹配
{} 更加明确前面表达式出现的次数
{0,}表示的是前面的表达式出现了0次到多次 和*一样
{1,}表示的是前面的表达式出现了1次到多次 和+一样
{0,1}表示的是前面的表达式出现了0次到1次 和?一样
{5,10}表示的是前面的表达式出现了5次到10次
{5}表示的是前面的表达式出现了5次
{,10} 错误的写法
^ 表达的是以什么开始,或者是取非
^[0-9] 以数字开头
[^a-z] 非小写字母
[^0-9a-zA-Z] 表示的是特殊符号,因为匹配非数字非字母
$ 表示的是以什么结束 [0-9a-z]$ 必须以小写字母结束
^[0-9][a-z]$ 相当于严格模式 "3f34jde"不能匹配 "3f"可以匹配
\d 数字中的任意一个
\D 非数字中的任意一个
\s 空白符中的一个
\S 非空白中一个
\w 非特殊符号
\W 特殊符号

创建Regex对象,两种方法:
1、通过系统的构造函数
2、字面量创建
验证:调用验证字符串是否匹配成功的方法 .test() 返回布尔值
下面来个实例?

 	//1、系统构造函数创建
 	var reg=new RegExp(/\d{5}/);
    var str="我的电话10086";
    console.log(reg.test(str));//true

    //2、字面量创建
    var reg2=/\d{5}/;
    console.log(reg2.test("1234"));//false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值