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);