6.2.1、备选字符集/预定义字符集
备选字符集 : 规定某一位字符的备选字符列表
特点:必须且只能多选一
var str = "上海,上天,上那里去";
var reg = /上[海天]/g;
console.log(str.replace(reg,"**")); // **,**,上那里去了
[0-9] 一个数字
[a-z] 一个小写字母
[A-Z] 一个大写字母
[0-9a-zA-Z] 一个数字或字母
预定义字符集:针对常用的备选字符集提供的简化符号
[0-9] \d 一位数字
[0-9a-zA-Z_] \w 一位数字字母或下划线
. 所有字符
\s 空格,空字符,换行
var str = "_fgd56161_";
var reg = /\d/g; //
console.log(str.replace(reg,"*"));
console.log(str.replace(/\w/g),"*");
6.2.2、量词
量词 :定字符集出现的次数
1.确定数量
{m} 只能出现m次
{m,n} 大于m次小于n次
{m,} 大于m次
2.不确定数量
? 一个或0个
+ 1个以上
* 多个或没有
var str = "hje5155";
var reg = /\d+/
console.log(reg.test(str)); // true
3.贪婪模式
给量词的情况下 默认取得的是最大值
var str = "5616516hello";
var reg = /\d{3,6}/;
console.log(str.replace(reg,"*")); // ******6hello
4.懒惰模式
var str = "5616516hello";
var reg =/\d{3,6}?/;
console.log(str.replace(reg,"*")); // ***6516hello
6.2.3、选择分组
1.选择 |
2.分组 ( )
var str = "哪里,哪去能发多少积分";
console.log(str.replace(/哪里|能发/g,"*"));
3.转义字符 \
转义字符 遇到一些特殊的字符 需要处理可以在前面加上转义字符
var str = "\"hello"
console.log(str); // "hello
6.2.4、指定匹配位置
^开头的xxx,$结尾的xxx
只要验证时,必须前加^,后加$!
^\s+ //匹配字符串开头的所有空字符
\s+$ //匹配字符串结尾的所有空字符
6.2.5、非
^[a-zA-Z] 不包含字母
^\d 除了数字