码迷,mamicode.com
首页 > Web开发 > 详细

js正则表达式(1)

时间:2016-09-10 17:34:42      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

定义正则:

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)

标签:

原文地址:http://www.cnblogs.com/donglf/p/5859609.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!