JS正则表达式常用的方法

JS中中定义正则表达式

直接量:

var pattern = /\d/g;

new RegExp() 构造函数:参数中遇到  \  要再加一个  \   作为转义,不然会被忽略

var pattern = new RegExp('\\d','g');

常用方法

(这里所有的正则都加了g全局,即不会在匹配到第一次就停止)

test:  正则表达式.test(需要匹配的字符串)

如果字符串有匹配到的项,不管一个还是多个,就返回true,没有就返回false

var pattern = /\d/g;
var string = "1o2j4r0";
console.log(pattern.test(string));    //true

match:  需要匹配的字符串.test(正则表达式)

将所有匹配到的项,组成一个数组返回,各项均为字符串的形式

如果不加全局g就是返回第一个匹配的项,且包括索引值等等

var pattern = /\d/g;
var string = "1o2j4r0";
console.log(string.match(pattern));     //["1", "2", "4", "0"]

var pattern = /\d/;
var string = "1o2j4r0";
console.log(string.match(pattern));     //["1", index: 0, input: "1o2j4r0", groups: undefined]

replace:  需要匹配的字符串.replace(正则表达式,替换成的字符串)

将所有匹配到的项,替换成新的字符串,返回新的字符串

将替换的字符串(第二个参数)改为 ‘’ 空字符串,就相当于删除匹配到的项

var pattern = /\d/g;
var string = "1o2j4r0";
console.log(string.replace(pattern,'a'));     //"aoajara"
console.log(string.replace(pattern,''));     //"ojr"

exec: 正则表达式.exec(需要匹配的字符串)

返回匹配的项,及该项的索引值等等

可以通过循环,将所有匹配的项输出

var pattern = /\d/g;
var string = "1o2j4r0";
console.log(pattern.exec(string));   //["1", index: 0, input: "1o2j4r0", groups: undefined]

while(result = pattern.exec(string)){  
    console.log(result)              //["1", index: 0, input: "1o2j4r0", groups: undefined]
                                     //["2", index: 2, input: "1o2j4r0", groups: undefined]
}                                    //...     

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值