//语法: //var 变量名 = new RegExp("正则表达式","匹配模式"); //匹配模式:i 忽略大小写;g 全局匹配;m 多行匹配; var reg = newRegExp("a","i"); var str = "ABCD"; var result = reg.test(str);//检查字符串中是否含A console.log(result);//true
2.字面量创建RegExp对象
字面量的方式创建更加简单, 使用构造函数创建更加灵活(可以传参数).
语法: var 变量名 = /正则表达式/匹配模式;
注意: 语法中没有引号
表达式
描述
[abc]
查找方括号之间的任何字符
[^abc]
查找任何不在方括号之间的字符
[0-9]
查找任何从 0 至 9 的数字
[a-z]
查找任何从小写 a 到小写 z 的字符
[A-Z]
查找任何从大写 A 到大写 Z 的字符
[A-z]
查找任何从大写 A 到小写 z 的字符
[adgk]
查找给定集合内的任何字符
[^adgk]
查找给定集合外的任何字符
(red blue green)
查找任何指定的选项
1 2 3 4 5 6 7 8 9 10 11 12 13
var reg = /a/i;//等价于:var reg = new RegExp("a","i"); //1.创建一个正则表达式检查一个字符串中是否含有a或b reg = /a|b/;
var str = "1A2B3C4d5e6f7g8"; var result = str.match(/[a-z]/gi); console.log(Array.isArray(result));//true; console.log(result);//A,B,C,d,e,f,g console.log(result[0]);//A
//筛选出所有的QQ号 var str = "826720408abhfe826720407"+ "freaf826720405C826720"+ "404d826720405e8267204"+ "00f826720409g826720401"; var result = str.match(/[0-9]{8,10}/g); console.log(Array.isArray(result));//true; console.log(result);
4.replace
将字符串中指定的内容替换为新的内容, 不影响原字符串
参数:①被替换的内容, 可以接受一个正则表达式作为参数
②新的内容
默认只会替换一个,可以为正则表达式设置全局匹配模式替换所有内容
1 2 3 4
var str = "1A2B3C4d5e6f7g8"; //将所有字母替换为"" var result = str.replace(/[a-z]/gi,""); console.log(result);//12345678