一:规则
1:电话号码
let phoneReg = /^1[3456789]\d{9}$/;
let telReg = /^\d{3,4}\-\d{7,8}$/;
2:非贪婪匹配
//在匹配HTML时好用
[\s\S]+?
.*?
match + /g 返回符合条件的列表
二:方法
1:replace:替换
//替换某个单词或空格
'reports/lalla.jpg'.replace('reports/', '')
'123 456 '.replace(/\s+/g, '')
//只保留数字
'lalaa-456'.replace(/\D/g, '')
2:match 匹配不对的为null / 截取
①:匹配符合条件的,不符合为null
//仅 包含数字和下划线
'1234343-110'.match(/^[0-9_-]+$/)
'lalall'.match(/^[0-9_-]+$/)
'1234lalal'.match(/^[0-9_-]+$/)
②:个数
//匹配10位以上
'lal----l111reqwrwwwwwwwwwww'.match(/^[\S]{10,}$/)
'lal'.match(/^[\S]{10,}$/)
③:匹配某个value (截取)
匹配所有符合条件的,/g
a:
'baidu/detail/page=1'.match(/(?<=detail\/)\S+/)
b: 不包含头或者尾
string.match((?<=A)(\S+)(?=B))
//如果不包含前面匹配的字符写法(?<=要匹配的开始字符),不包含后面要匹配的字符写法(?=要匹配的结束字符)

3:search
找到第一个 索引
'123;-abg'.search(/[A-Za-z]/)
''.search(/[A-Za-z]/)
4:test 测试是否符合条件
true或者false
console.log(/^1[3456789]\d{9}$/.test('13345678912'));
console.log(/^1[3456789]\d{9}$/.test('666'));
console.log(/^1[3456789]\d{9}$/.test(''));
console.log(/^\d{3,4}\-\d{7,8}$/.test('0123-1234567'));