常用正则表达式合集,这一篇就够了,记得点赞收藏哟

本文详细介绍了正则表达式的概念、用途,展示了常用的手机号、验证码、账号密码和邮箱验证正则,并深入讲解了正则表达式的语法、流程、原义符、元字符、边界匹配、量词和修饰符。通过实例帮助读者理解并实践正则表达式在字符串操作中的强大功能。
摘要由CSDN通过智能技术生成

 常用的几个正则表达式

       /* 
        1.手机号正则
            /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
        */    

        /* 2.验证码
            /^\d{6}$/
         */

        /* 3.账号密码 6-20位: 大小写字母, 下划线_ 
            /^\w{6,20}$/
        */

        /* 4.邮箱
            /^\w+[@]\w+\.\w+(\.\w+)?$/
        */

下面和大家详细的说一说什么是正则表达式 

#   什么叫正则表达式?

`````  对字符串进行匹配运算的内置对象

  •  表达式 : 对字符串进行逻辑匹配运算
  •  内置对象 : js语言提供好的内置对象,存储一些对字符串进行匹配运算的方法。

#   正则表达式的作用?

`````  对字符串进行逻辑匹配运算(格式校验)

#    正则表达式的流程介绍

 (1)声明正则对象 :  let reg  = new RegExp( /正则表达式/ )

 (2)调用对象test方法 :  reg.test( '要校验的字符串' )    简写  /正则/

                true : 符合规则

                false : 不符合规则      

#   正则表达式语法两部分组成 (原义符 和元字符 (7 类))

  • 原义符 : 就是字符串本身的含义
  • 元字符 : 改变了字符串本身的含义    (   [] {} () * $ ^ . + \ | ?   )

 [ ] : 字符类      将某种特征的字符归为一类。

/[abc]/ : 将a 或 b 或 c这种字符归为一类.    * 说人话 : 检测字符串有没有a 或 b 或 c

 [^] : 反向类   将不是某种特征的字符归为一类。

  /[^abc]/ : 将不是a 或 不是b 或 不是c的字符归为一类.     * 说人话 : 检测字符串有没有 不是a 或 b 或 c的字符

范围类 : 代表字符类的范围

  /[0-9]/ : 检测有没有数字字符      /[a-z]/ : 检测有没有小写字母        /[A-Z]/ : 检测有没有大写字母

注意点   (1)范围类可以连写          /[a-zA-Z0-9]/ : 检测字符串有没有字母或数字

             (2)范围类是一个闭区间    /[5-8]/ : 检测有没有5-8之间的数据。 包含5和8

            (3)范围类 右边 一定大于 左边       /[8-5]/ : 直接报错。 范围类一定是右边大于左边

               /[8-90-5]/ : 可以的 。 包含8 9 0 1 2 3 4 5

预定义类: 正则表达式提供好的用来匹配常见的字符类

预定义类              等价类                                     含义

           .                  [^\r\n]                                 除了回车和换行之外的所有字符

           \d                 [0-9]                                  数字字符

           \D                 [^0-9]                                非数字字符

           \s                 [\f\n\r\t\v]                             空白字符

           \S                 [^\f\n\r\t\v]                          非空白字符

           \w                 [a-zA-Z_0-9]                      单词字符(字母、下划线、数字)

           \W                 [^a-zA-Z_0-9]                    非单词字符

边界类:正则表达式提供了几个常用的边界匹配字符

          边界字符            含义

              ^               以xxxx开头

              $               以xxxx结束

              \b              单词边界

              \B               非单词边界

量词     量词的作用:检查字符串出现的次数

? 出现零次或一次(最多出现一次 <=1)

* 出现零次或多次(任意次)

+ 出现一次或多次(至少出现一次 >=1)

{n} 出现n次

{n,m} 出现n到m次

{n,}

() 在正则中有三种含义       

        1.分组 : 把多个字符归为一组,用于量词

        2.提升优先级 : 让 | 只匹配小括号内部的字符,提升|的优先级

        3.反向引用(提取) : 正则会提取()内部匹配的数据存入$中,可以进行反向引用

修饰符 : 对正则表达式进行修饰作用,可以改变正则表达式结果

            g : global,全局匹配

            i : intensity,区分大小写

            m : multiple,检测换行符。用于边界

        2.修饰符语法:  /正则表达式/修饰符


    //1. g : 全局匹配
    // /a/ : 匹配字符a
    //(1)默认情况下,正则只能匹配第一个
    console.log('a123456789a'.replace(/a/, 'X')) //X123456789a

    //(2)如果希望正则可以匹配所有的,就可以使用 g修饰符
    console.log('a123456789a'.replace(/a/g, 'X')) //X123456789X


    //2. i : 不区分大小写
    //(1)默认情况下,正则表达式区分大小写
    console.log('a123456789A'.replace(/a/, 'X')) //X123456789A

    //(2)如果希望正则不区分大小写,就可以使用 i修饰符
    console.log('Aa123456789A'.replace(/a/i, 'X')) //Xa123456789A

    /* 正则表达式修饰符是可以同时写多个的 */
    console.log('Aa123456789A'.replace(/a/ig, 'X')) //XX123456789X

    //3. m : 检测换行符。  需要和边界在一起使用
    //m含义: 让边界  对换行符生效。 换行符后面的内容视为边界
    let str = '我爱我的维他\n我爱我的维他\n我爱我的维他'

    console.log(str.replace(/^我/gm, '王悦'))

    console.log(str.replace(/(.+)我(.+)/gm, '$1王悦$2')) //替换中间的我 

你学会了吗?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值