正则表达式
//正则默认:匹配成功就会结束匹配 (如果想全部查找加标识 g),不区分大小写 (如果想区分大小写 加标识 i) //1.test : 正则去匹配字符串,如果匹配成功返回真,匹配失败返回假; 正则.test(字符串) //2.search : 正则去匹配字符串,如果匹配成功就返回匹配位置,否则就返回 -1; 字符串.search(正则) //3.match : 正则去匹配字符串,如果匹配成功就返回匹配的数组,否则返回null; 字符串.match(正则) //4.replace : 正则去匹配字符串,匹配成功的字符去替换成新的字符串; 字符串.replace(正则,新的字符串), //第二个字符串也可以是个函数,函数的第一个参数就是匹配成功的字符 //---------------------------------------------------------------------------------- //匹配子项 : 小括号 () 还有另外一个意思分组操作 //把正则的整体叫做母亲,然后把左边第一个括号里面的正则叫做第一个子项,以此类推 var str = '2019-5-15'; var reg = /(\d+)(-)/g; str = str.replace(reg,function($0,$1){ //第一个参数是母亲,第二个参数是第一个子项 console.log($0); //2019- 5- console.log($1); //2019 5 return $1 + '.'; }) console.log(str); //2019.5.15 var str = 'abc'; var reg = /(a)(b)(c)/; console.log(str.match(reg)); //[abc,a,b,c] 当match不加g的时候才会匹配到子项的集合 //------------------------------------------------------------------------------------- //字符类 : 一组相似的元素 [] 中括号的整体代表一个字符 var str = 'abdc'; var re = /a[bde]c/; alert( re.test(str) ); //false //排除 : ^ 如果 ^ 写在 [] 里面的话 就代表排除的意思 //-------------------------------------------------------------------------------------- //转义字符 // . : 任意字符 // \. : 真正的点 // \b : 独立的部分 (起始,结束,空格) // \B : 非独立的部分 // \1 : 重复的第一个子项 // \2 : 重复的第二个子项 var reg = /\w\W/ ; //可以匹配 c9 ,只要是俩个字符都可以 var reg = /\w\1/; //只能匹配俩个相同的; aa