首页 > 代码库 > js正则表达式(1)
js正则表达式(1)
定义正则:
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); //吃**不吐***
js正则表达式(1)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。