JavaScript--正则
一.创建正则对象的写法:
1 // 第一种方法(麻烦) 2 var reg = new RegExp('a'); 3 // 第二种方法(推荐) 4 var reg = /a/;
二.正则对象的test函数
1 .test() 2 语法: 3 规则.test(要检查的字符串); 4 功能: 5 满足规则返回true ,不满足返回false
例子:
1 // 准备一个要检测的字符串 2 var str = 'abc123456'; 3 // 准备规则 4 var reg = /a/; 5 console.log(reg.test(str)); // true
三.常用正则表达式
1 (1)类型 2 3 \d 数字 [0-9] 4 \D 非数字 [^0-9] 5 \w 数字,字母 下划线 [A-Za-z0-9_] 6 \W 非数字,字母,下划线 [^A-Za-z0-9_] 7 \s 空白符(空格,换行符) [\f\n\r\t\v] 8 \S 非空白符(空格 换行符) [^\f\n\r\t\v] 9 10 11 (2)次数 12 {n} n次 13 {n,} 从第n次到无限次 14 {n,m} 从第n次到m次 15 // 便捷写法 16 * {0,} 17 + {1,} 18 ? {0,1} 19 20 21 (3)功能性符号 22 ^ 开始 23 $ 结束 24 [] 用于表示范围 25 [^] 用于表示反范围 26 () 分组 27 | 或 28 \ 转义符
四.replace方法、match方法操作字符串
1 \^规则$\ 正则的开始与结束 2 3 .replace() 其实是字符串上的方法 4 语法: 5 字符串.replace(/正则对象的规则/标识,新字符); 6 功能: 7 把匹配规则的字符串替换成新字符串 8 返回值: 9 替换完后的字符 10 11 .match() 其实是字符串上的方法 12 13 语法: 14 字符串.match(/正则对象的规则/标识,新字符); 15 功能; 16 把匹配规则的字符串找出来 17 返回值: 18 数组格式 19 标识符: g全局搜索 i忽略大小写
例子:
1 console.log(typeof /\d/); // 正则对象 2 var str = "稳定外挂您你们年三季度阿达,中国的外的挂的外挂"; 3 // g 是全局搜索 4 str = str.replace(/外挂|中国/g,"*"); 5 console.log(str); 6 7 // 2. 替换所有,|,成, 8 var str = "abc,efg,123,abc,123,a"; 9 str = str.replace(/,|,/g, ","); 10 console.log(str); 11 12 // 1. 提取工资 13 var str = "张三:1000,李四:5000,王五:8000。"; 14 //标识符: g全局搜索 i忽略大小写 15 var array = str.match(/\d+/g); 16 console.log(array);
五.分组提取例子
1 // .提取邮件中的每一部分 2 var str = "1031219129@qq.com"; 3 var reg = /(\w+)@(\w+)(\.\w+)?/; 4 if(reg.test(str)) { 5 console.log(RegExp.$1); 6 console.log(RegExp.$2); 7 console.log(RegExp.$3); 8 }