首页 > 代码库 > 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)