定义正则:
var reg = new RegExp(‘a‘); //实例化对象,参数是我们想要制定的规var reg = /a/; //简写方法
正则的常用方法:
1、test():在字符串中查找符合正则的内容,查找到返回true,反之返回false
用法:正则.test(字符串);
例子:判断是否是数字
var str = ‘12345678‘; var reg = /\D/; // \D代表非数字 if(reg.test(str)){ alert(‘不全是数字‘); }else{ alert(‘全是数字‘); }
2、search():在字符串中搜索符合正则的内容,搜索到就返回出现的位置(从0开始,若搜索到的不只是一个字母,则返回第一个字母的位置),反之返回-1
用法:字符串.search(正则)
var str = ‘webrty‘; var reg = /B/i; //i表示不区分大小写 console.log(str.search(reg)); //返回2
3、match():在字符串中搜索符合正则的内容,匹配成功就返回内容,格式为数组,失败则返回null
用法:字符串.match(正则);
var str = ‘as123msd8xx29shdkdk220nm‘; var reg = /\d+/g; //匹配至少一个数字, g表示全局匹配 console.log(str.match(reg)); // ["123", "8", "29", "220"]
4、replace():查找符合正则的字符串,替换成对应的字符串,返回替换后的内容
用法:字符串.replace(正则,新的字符串/回调函数); (在回调函数中,第一个参数是指匹配到的第一个字符)
例子:敏感词过滤
var str = ‘吃葡萄不吐葡萄皮‘; var reg = /葡萄|皮/g; //匹配葡萄或皮 , 全局匹配 var str2 = str.replace(reg,‘*‘); console.log(str2); //吃*不吐**
想要实现几个字对应几个*,可以用回调函数
var str = ‘吃葡萄不吐葡萄皮‘; var reg = /葡萄|皮/g; //匹配葡萄或皮 , 全局匹配 var str2 = str.replace(reg,function(str){ //str 参数第一次指的是葡萄,第二次指的是葡萄,第三次指的是皮 var result = ‘‘; for(var i=0;i<str.length;i++){ result += ‘*‘; } return result; }); console.log(str2); //吃**不吐***
时间: 2024-10-07 08:14:23