js正则,这点儿就够用了

1、i /[0-9]/i,模糊匹配,不区分大小写,但只匹配一次;
2、g /[0-9]/i,全部匹配,区分大小写;同一正则重复使用test时,若上一个为true,lastIndex会保留作为下一次test的起始位置,bi如:r=/a/g;r.test('ab')//true; r.test('ab')//false;
3、m /[0-9]/i,换行匹配,区分大小写,一般用来匹配每行的首尾;
4、w /w/g,匹配数字,字母,下划线;W:匹配非数字、字母、下划线;
5、s /s/g,匹配空格;S:匹配非空格;
6、d /d/g,匹配数字[0-9];D:匹配非数字;
7、b /b/g,匹配单词(字母,数组,下划线)边界;B:匹配非单词边界;
8、r /r/g,匹配回车符;
9、n /n/g,匹配换行符;
10、n* 匹配该字符的0个或多个;
11、n+ 匹配该字符的一个或多个;
12、n? 匹配该字符的0个或一个;
13、n{X}匹配该字符的X个n;
14、n{X,}匹配至少x个n;
15、n{X,Y}匹配至少X个,最多Y个;会先匹配少的;
16、[0-9]匹配一个任意数字;
17、[a-z]匹配一个任意小写字母;
18、[A-Z]匹配一个任意大写字母;
19、[A-z]匹配一个任意字母(不区分大小写);

匹配一个url地址;
匹配非负整数:re=/^d+$/;
匹配整数 :re=/^-?d+$/;
匹配负整数 :re=/^-d+$/;
匹配非负数 :re=/^[0-9]+.?[0-9]*$/;
匹配负数 :re=/^-[0-9]+.?[0-9]*$/;
匹配(首位为字母数字或下划线):re=/^w(([A-z]|d)w?)+$/;
匹配汉子:re=/^[u4e00-u9fa5]{0,}$/;
匹配邮箱:/^w+([-.]?w+)@w([-.]w+)*(.w+)+$/
去除关键字:re=/xx|ww|ss/g;
str.replace(re,(v)=>{return Array(v.length+1).join('*')})
统计关键字出现的次数:
let middleObject={};
str.replace(re,v=>{middleObject[v]?middleObject[v]++:middleObject[v]=1})
return middleObject;

相关推荐