用来处理字符串的规则。除了对象、函数,我们操作得最多的就是字符串
正则的两大作用:


点. :除了\r \n以外的字符


https://cdn.jsdelivr.net/gh/bobcn/hexo_resize_image.js@master/hexo_resize_image.js
额外再多设置一点规则
总结:
基础规则:
正则是用来处理字符串的,且只能处理字符串
做两件事:
元字符和修饰符,充分理解它们的特征和性质,才能用这些写出正则表达式,对一个字符串进行匹配和捕获。
匹配和捕获2个概念
匹配:test
捕获:exec
[]:表示字符本身的意思,除^ - \ 等以外。不能识别多位,只能是一位
():改变优先级
\:转义字符
段号
必须符合某个特定规则:则都要加上 ^xxx$,表示“只能是xxx”





一个斜杠在字符串里不是斜杠,两个斜杠才代表斜杠


分组附带的作用:改变优先级


反斜杠还是保持转译的功能


console.log(/^[12][0-9]$/.test('11'))




- console.log(/^[-+]?([1-9]\d+|[0-9])(\.\d+)?$/.test('09'))
- console.log(/^[\w]{6,16}$/.test('aaaaaaaaaaaaaaa'))
中文正则 \u4e00-\u9fa5

- console.log(/^[-+]?([1-9]\d+|[0-9])(\.\d+)?$/.test('09'))
- console.log(/^[\w]{6,16}$/.test('aaaaaaaaaaaaaaa'))
- console.log(/^[\u4e00-\u9fa5]{2,10}(·[\u4e00-\u9fa5]{2,10}){0,2}$/.test('刘可琦'))
规则分析 从结果看规则
@分为前后两半

二代身份证只有18位
最后一位可能会出现大写X

身份证正则表达式_读书,看报,零食,睡觉的博客-CSDN博客_身份证正则
通过构造函数的方式 要写2个斜杠。因为字符串中的/也有特殊的含义
- let reg=/\d+/g;
- reg=new RegExp('\\d+','g')
变量只能用构造函数的方式,因为只有构造函数的方式参数是字符串,可通过字符串拼接的方式来嵌入变量
