(一)正则表达式——基础概念

(一)正则表达式——基础概念

概括

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

正则的两大作用:

  1. 验证是否匹配
  2. 把匹配到的内容捕获到

  1. 量词元字符

  1. *特殊元字符

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

  1. 普通元字符

https://cdn.jsdelivr.net/gh/bobcn/hexo_resize_image.js@master/hexo_resize_image.js

修饰符

额外再多设置一点规则

总结:

基础规则:

正则是用来处理字符串的,且只能处理字符串

做两件事:

  1. 验证字符串是否符合这个规则
  2. 把符合规则的捕获到

元字符和修饰符,充分理解它们的特征和性质,才能用这些写出正则表达式,对一个字符串进行匹配和捕获。

匹配和捕获2个概念

匹配:test

捕获:exec

元字符剖析*

[]:表示字符本身的意思,除^ - \ 等以外。不能识别多位,只能是一位

():改变优先级

\:转义字符

^$

段号

必须符合某个特定规则:则都要加上 ^xxx$,表示“只能是xxx”

点号 .

反斜杠

字符串中的反斜杠

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

x|y

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

[]

  1. 代表本身的含义

  1. 但是有一些还是会转译

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

  1. 中括号中不存在多位数

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

常用正则表达式编写*

  1. 是否为有效数字

  1. 首先是规则分析,要学会如何分析规则
  2. 写正则是按位写,因为正则中每个元字符占1位,加上量词元字符占对应的位数

  1. 验证密码

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

  1. 验证真实姓名

中文正则 \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('刘可琦'))

  1. 验证邮箱*稍微复杂点

规则分析 从结果看规则

@分为前后两半

  1. 验证身份证

二代身份证只有18位

最后一位可能会出现大写X

身份证正则表达式_读书,看报,零食,睡觉的博客-CSDN博客_身份证正则

两种创建方式的区别

反斜杠

通过构造函数的方式 要写2个斜杠。因为字符串中的/也有特殊的含义

let reg=/\d+/g;
reg=new RegExp('\\d+','g')

变量

变量只能用构造函数的方式,因为只有构造函数的方式参数是字符串,可通过字符串拼接的方式来嵌入变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值