js中正则表达式的常用方法

前言
工作中发现,正则表达式实在是很重要,对于FEer来说,正则表达式的使用代表了一个人的基本功。之前每次用每次查,搞得很混乱,现在查了一些资料,对js中常用的正则用法做了一定程度的总结。

JS中正则表达式的常见用法
  1. test():
    在字符串中查找符合正则的内容,若查找到返回true,反之返回false.
    用法::正则.test(字符串)
var str = '374829348791';
var re = /\D/;      //  \D代表非数字,采用非全局匹配
if( re.test(str) ){   // 返回true,代表在字符串中找到了非数字,搜索停止
     console.log('不全是数字');
}else{
    console.log('全是数字');
}
  1. search():
    在字符串搜索符合正则的内容,搜索到就返回出现的位置(从0开始,如果匹配的不只是一个字母,那只会返回第一个字母的位置), 如果搜索失败就返回 -1
    用法::字符串.search(正则)
var str = 'abcdef';
var re = /B/i;
//var re = new RegExp('B','i'); 也可以这样写
 console.log( str.search(re) ); // 1
  1. match():
    在字符串中搜索符合规则的内容,搜索成功就返回内容,格式为数组,失败就返回null。
    用法::字符串.match(正则)
var str = 'haj123sdk54hask33dkhalsd879';
var re = /\d+/g;   // 每次匹配至少一个数字,且全局匹配。如果不是全局匹配,当找到数字123,它就会停止了,只会弹出123。
 console.log( str.match(re) );   // [123,54,33,879]
  1. replace():
    查找符合正则的字符串,就替换成对应的字符串。返回替换后的内容。
    用法::字符串.replace(正则,新的字符串/回调函数)
var str = "我爱北京天安门,天安门上太阳升。";
var re = /北京|天安门/g;  //  找到北京 或者天安门 全局匹配
var str2 = str.replace(re,'*'); 
console.log(str2)  //我爱**,*上太阳升 
//这种只是把找到的变成了一个*,并不能几个字就对应几个*。
var str = "我爱北京天安门,天安门上太阳升。";
var re = /北京|天安门/g;  //  找到北京 或者天安门 全局匹配
var str2 = str.replace(re,function(str){
            //用来测试:函数的第一个参数代表每次搜索到的符合正则的字符,所以第一次str指的是北京 第二次str是天   安门 第三次str是天安门
            var result = '';
            for(var i=0;i<str.length;i++){
                result += '*’;   //搜索到了几个字就返回几个*
            }              
            return result; 
        });
            console.log(str2)  //我爱*****,***上太阳升 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 对于正则,著称火星文字,见名知意主要它晦涩难懂,一直以来,看到它总是怕怕的,在平时,也只是简单的用用,其主要...
    itclanCoder阅读 825评论 0 2
  • 9.19--9.23 第7章 正则表达式 正则表达式是一个拆分字符串并查询相关信息的过程。 推荐练习网站: js ...
    如201608阅读 1,086评论 0 4
  • 概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。常用的语...
    醉于麦田阅读 517评论 0 0
  • 正则表达式功能: 测试字符串的某个模式。例如对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信...
    DecadeHeart阅读 626评论 0 1
  • Regular Expression是一个描述符合匹配条件的字符串的字符串,在js中有对应的RegExp对象来存储...
    lhdoeo阅读 807评论 2 2