今天简单整理了一下js中经常使用的正则的地方。
检查是否符合规则
var reg=new RegExp("a","i/g");
i: 忽略大小写
g: 全局
字面量写法:
var reg=/a/i; // 是否含有a
var reg=/a|b/i; | 或
var reg=/[ab]/i; [] 也代表或
var reg=/[a-z]/; a到z
[A-Z]
[A-z] 任意字符
var reg=/[0-9]/; 0-9
-----------------------
量词
reg=/a{3}/; 3次 aaa
reg=/(ab){3}/; ababab
reg=/ab{3}c/; abbbc
reg=/ab{1,3}c/; b出现1-3次
reg=/ab{3,}c/; b出现3次以上
reg=/ab+c/; b出现至少一次
reg=/ab*c/; b出现0-n
reg=/ab?c/; b出现0-1
---------------------------
reg=/^a/; a开头
reg=/a$/; a结尾
reg=/^a$/; a aa(不符合该正则) **********
----------------------
转义字符,字符串中也需要转义
reg=/\./; --.---- new RegExp("\\.");任意字符
reg=/\\/; --\---- new RegExp("\\\\");
reg=/\w/; --w 任意字符数字下划线
reg=/\W/; --W 除了字符数字下划线
reg=/\d/; --d 任意数字 [0-9]
reg=/\D/; --D 除了数字 [^0-9]
reg=/\s/; --s 空格
reg=/\S/; --S 除了空格
reg=/\b/; --b 单词边界
reg=/\B/; --B 除了单词边界
reg=/\bchild\b/; children(不符合该正则)**********
---------------------
var reg=/a[bcd]e/; abe ace ade
----------------------
var reg=/[^ab]/; 除了ab
-----------------------------
手机:
1 [3-9] [0-9]{9}
reg = /^1[3-9][0-9]{9}$/;
去除空格:
str=str.replace(/\s/g,"");
去除前后空格:
str=str.replace(/^\s*|\s*$/g,"");
邮件:
\w .? @ xx .xx .xx
res=/^\w{3,}(\.\w)*@[A-z0-9]+ (\.[A-z]{2.5}){1,2}$/;
---------------------------------
【 test】
str="bac";
reg.test(str); true false
-------------------------
【split】
传递正则表达式,默认是全局的
str="1a2b3c4d";
var res=str.split(/[A-z]/);
1 2 3 4
-------------------------
【search】
搜索字符串中是否含有指定内容,不能全局,只能查第一个
abc adc
var res=str.search(/a[bd]c/); 第一次出现的索引位置 -1
--------------------------
【match】
str="1a2b3c4d5E";
var res=str.match(/[a-z]/ig);
// 默认只找到第一个符合的
// g 可以全局找
// 返回数组,只有一个也是数组
a b c d E
--------------------------
【replace】
var res=str.replace(/a/gi,"xxx")
// 默认只替换第一个