JavaScript正则表达式相关方法

一、正则表达式方法

    var str="abcdefabcdef";

(1)reg.test(str);

  查看字符串是否有满足正则表达式的内容,并返回一个布尔值true/false

        var bool=/abc/.test(str);
        console.log(bool);

   打印结果:   true

(2)reg.exec(str);

  查找字符串中符合正则表达式的内容,并返回一个数组,没找到则返回 null

        var index=/def/.exec(str);
        console.log(index);

 

 数组内几个元素分别代表

    "0"   与正则表达式相匹配的文本

    index 匹配到的字符串第一个字符的开始下标

    input 代表被匹配的字符串str

 二、字符串方法

    var str="abcabcabc";

(1)str.replace(正则表达式,替换内容);   字符串替换 

  用法一:

        var str1 = str.replace(/a/,"z");   //替换匹配到的第一个字符
        console.log("str:   " , str );
        console.log("str1:  " , str1);

打印结果:

  用法二:

        var str1 = str.replace(/a/g,"z");   //替换所有匹配到的内容

打印结果:

  用法三:

            replace后面的函数  参数有2个,第一个是查找到的元素,第二个是下标
             这个函数中return 的结果就是将匹配到的字符串替换成什么
        var str1=str.replace(/[ac]/g,function(item,index){     //如果是a就替换为y 如果是c  替换为z
            if(item==="a") return "y";
            if(item==="c") return "z";
        });

打印结果:

(2)str.match(正则表达式);   

  ①查找一个  查找并返回数组,返回的数组结构与exec()的返回值类似

        var arr=str.match(/ab/);   
        console.log(str);
        console.log(arr);

 打印结果:   返回的数组

 

    ②查找多个,返回一个数组,数组元素是查找到的内容

    var arr=str.match(/ab/g);  //查找多个

 (3)str.search(正则表达式); 

  查找并返回第一个匹配的字符串起始下标,只能找到第一个

        var index=str.search(/c/);
        console.log(index);

 (3)str.split(正则表达式); 

  以正则匹配到的内容为分隔符分隔字符串,并将每一部分作为元素放入数组中,返回数组

        var str = "ab?c=3&da=4&bcd=5";
        var arr = str.split(/[?&]/g);
        console.log(arr);

原文地址:https://www.cnblogs.com/rookieKong/p/12873393.html