网址:https://regexper.com/
目的:改变关键字
用法:关键字用//包裹,后面的是修饰符
修饰符:g (全局),i(忽略大小写)
1.起步
var reg = /猪/g;var p = "你猪啊,你怎么这么菜,你真是猪";var res = p.replace(reg,"*")console.log(res)
2.支持正则的方法
- match
- search
- replace
- split
var p = "hello worldL"var reg = /l/ig;console.log(p.match(reg)) //l l l L
3.检索是否存在
- test(reg) 返回boolean值
- lastIndex 属性 返回下标
Tips:使用test最好不加g 因为它是一段一段检索的
while(reg.test(str)){console.log(reg.lastIndex)}
4.备选字符集
4-1 具有相同字的词 /str0[str1,str2,str3]/
/* 上海,上天,上去 *//* 备选字符集:规定某一位字符的备选字符列表 */var reg = /上[海,天,去]/gvar str = "我要去上海,我要上去东方明珠,去上天";console.log(str.replace(reg,"**"))
4-2 连号
var str = "2312312fjsklfjsdf";var reg = /[0-9]/g;console.log(str.replace(reg,'*'))console.log(str.replace(/[a-z]/ig,'*'))console.log(str.replace(/[0-9a-zA-Z]/g,'*'))result:*******fjsklfjsdf2312312***************************
5.预定义字符集
Tips:针对常用的备选字符集提供的简化符号
[0-9] == \d
[0-9a-zA-Z_] == \w
空格 换行 == \s
除换行符所有的字符 == .
var str = '232e3fa_s d';var reg = /\d/g;console.log(str.replace(reg,'*'))result:***e*fa_s d
6.量词
量词就是规定某一类字符出现的次数
{3} 只出现三次
{3,} 三次以上
{3,6} 三到六次
var reg = /\d{3,4}天/g;var str = '2323天萨里的记录卡开了家434天';console.log(str.replace(reg,'*'))result:*萨里的记录卡开了家*
替换量词
1个,或1个以上 m>=1 {1,} == +
0个或多个 {0,} == *
0,1 {0,1} == ?
Tips:关于问号 {3,5}?会替换三个数,不加?替换五个数,这个就是贪婪
```html var reg = /\d+/; var str = “321313fsfsgdr”; console.log(str.replace(reg,’*’))
result: *fsfsgdr
<a name="jYGdD"></a>### 7.严格匹配- ^以什么开头- $以什么结尾- /^ $/严格匹配- | 或- trim() == reg=/^\s+|\s$/g<a name="fcbRa"></a>### 8.其他实例,有BUG仅作实例```html身份证号匹配 18位 /\d{17}[0-9xX]/密码八位数,首个字符字母 var reg = /^[a-z]+[a-z0-9]{7,}$/i;邮箱 /^[0-9a-z]+@[0-9a-z]+\.com$/
