JS正则表达式

ppgo8 于 2023-04-28 发布

正则表达式

正则表达式

介绍


小结

  1. 正则表达式是什么?

    用于匹配字符串中字符组合的模式

  2. 正则表达式的作用

    • 表单验证(匹配
    • 过滤敏感词(替换
    • 字符串中提取想要的部分(提取

语法(语法)

image-20230428144758567

  1. 定义规则语法

    const 变量名 = /正则表达式/   // 经常命名为reg
    
  2. 判断是否有符合规则的字符串,返回true或false

    test()

    方法 用来查看正则表达式与指定字符串是否匹配

    regObj.test(被检测的字符串)    // 正则表达式在前面
    
  3. 检索(查找)符合规则的字符串,如果匹配成功返回数组,否则返回null

    regObj.exec(被检测的字符串)
    

小结

  1. 正则表达式的使用步骤
    • 定义规则 //
    • 匹配 test
  2. test和exce的区别?
    • test方法用来判断:字符串是否符合规则,返回的是布尔值
    • exce方法多用于检索符合规则的字符串,找到返回数据,否则为null

元字符

基础知识

元字符分类

​ 元字符很灵活,因此导致很难记忆。为了方便记忆和学习,对元字符进行了分类:

边界符

边界符(位置符)用来提示字符所处的位置,主要有两个字符

边界符 说明
^ 表示匹配行首的文本(以谁开始)
$ 表示匹配行尾的文本(以谁结束)

如果\^$在一起,代表精确匹配。^哈$ 只有匹配单字是才是true,多个哈一律是false.

量词

字符类

  1. []匹配字符集合

    • 后面的字符串只要包含[]中任意一个字符,都返回true
    • 一个[]代表一位
  2. 使用连字符-表示一个范围

    [a-z]    表示全部26个小写字母:a-z
    [a-zA-Z] 表示大小写都可以
    [0-9]    表示0-9
    
    // 匹配qq好
    ^[1-9][0-9]{4,}$ // 第一位是1-9,后面的0-9,至少重复4次。那么最低五位
    
  3. []里面添加^代表取反

    注意:只有在中括号里面才是取反

    image-20230428155936882

  4. .匹配除了换行符之外的任何单个字符

  5. 预定义类:指的是某些常见模式的简写方式,更高的灵活性

预定类 说明
\d 0-9之间的数字,相当于[0-9]
\D \d取反
\w 任意的字母、数字和下划线,相当于[A-Za-z0-9_]
\W \w取反
\s 匹配空格,换行、制表符、空格符。相当于[\t\r\n\v\f]
\S 非空个的字符

大写字母均为取反。

但是在开发中还是习惯使用[],因为更加直观

案例

修饰符

替换replace

字符串.replace(/正则表达式/,替换的文本)

综合案例

用户注册,表单验证案例

image-20230428185843859

发送验证码模块

补充:change事件

各个表单的验证模块

image-20230428191844137

image-20230428194055135

阶段案例

image-20230428205448632

image-20230428205902767

image-20230428205927703

image-20230428210953187