JS正则-元字符-特殊字符

      /*

        1、()

        //表示abcd出现两次

        1-1、一个整体

        var reg = /(abcd){2}/;

        console.log(reg.test("abcdabcd"));

        1-2、单独捕获

        ==>在捕获一个字符串的时候

        ==>从左边开始每一个小括号依次是数组里面的[1]开始的内容

        ==>括号内里面的单独捕获出来[0]捕获的是原数组

        ==>从左到右依次数小括号的开始括号

        const reg = /\d+(\s+)\d+/;

        //返回值 [0:'123   123',1:'   ']

        console.log(reg.exec("123   123"));

        const reg1 = /(\d+(\s+))\d+/;

        console.log(reg1.exec("123   123"));

        //返回值 [0:'123   123',1:'123   ',2:'   ']

        2、(?:)

        ==>整体匹配但不捕获

        ==>指示标志一个整体,但是捕获的时候不会单独捕获出来

        const reg = /\d+(?:\s+\d+){2}/;//{2}重复出现次数

        console.log(reg.exec("123   123   123")); //[0:123  123  123]

       

        3、|

        ==>占位或

        ==>表示左边或者右边的都行

        ==>大部分时候和()连用,表示一个整体或者一个整体

        ==>注意:或分开的是左边和右边整个

        const reg=/abc|def/

        console.log(reg.test('abc'))//true

        console.log(reg.test('edf'))//true

        console.log(reg.test('abcedf'))//true

        console.log(reg.test('aaaedf'))//true

        ==>与小括号()连用

        const reg = /ab(c|d)ef/;

      console.log(reg.test("abc")); //false

      console.log(reg.test("edf")); //false

      console.log(reg.test("abcedf")); //false

      console.log(reg.test("aaaedf")); //false

      console.log(reg.test("abcef")); //true

      console.log(reg.test("abdef")); //true

      4、[]

      ==>注意:**一个[]占一个字符位置**

      ==>表示里面的任意一个都行

      //只要字符串里面有a,b,c,d任意一个字符就返回true

        const reg = /[abcd]/;

        console.log(reg.test("sssasa")); //true

        //整个字符串只能由一个字符组成,可以是a,b,c,d中的任意一个

        const reg = /^[abcd]$/;

        console.log(reg.test("a")); //true

        console.log(reg.test("b")); //true

        console.log(reg.test("c")); //true

        console.log(reg.test("d")); //true

        console.log(reg.test("e")); //false

        5、[^]

        ==>注意:**一个[^] 占一个字符位置**

        ==>表示非里面的任意一个都行

        //整个字符串只能由一个字符组成,不是a,b,c,d中的任意一个

        const reg = /^[^abcd]$/;

        console.log(reg.test("a")); //false

        console.log(reg.test("b")); //false

        console.log(reg.test("c")); //false

        console.log(reg.test("d")); //false

        console.log(reg.test("e")); //true

        6、-

        ==>表示至或者到

        ==>是使用在[]里面的一个符号

        ==>表示从哪一个字符到那一个字符

        ==>前提是它们在ASCII码是连着的

        //表示一为数字组成,可以是0到9 a到z A到Z的任意数字或者字母

        const reg = /^[0-9a-zA-Z]$/;

        console.log(reg.test("0")); //true

        console.log(reg.test("1")); //true

        console.log(reg.test("i")); //true

        console.log(reg.test("g")); //true

        console.log(reg.test("V")); //true

        console.log(reg.test("W")); //true

        组合形式

        1、[0-9a-zA-Z_]等价于\w

        2、[^0-9a-zA-Z_]等价于\W

        3、[0-9]等价于 \d

        4、[^0-9]等价于 \D

        5、[ ]等价于\s

        5、[^ ]等价于\S

        特殊说明

        ==>当点(.)出现在[]或者[^]里面的时候

        ==>表示一个点文本

        const reg = /^[abc.]$/;

        console.log(reg.test("a")); //true

        console.log(reg.test("b")); //true

        console.log(reg.test("c")); //true

        console.log(reg.test(".")); //true

        console.log(reg.test("1")); //false

        */

      //练习1

      /*      const reg = /^(abc|def){2}$/;

      //()圈起来一个整体,这个整体是abc或者def都行

      //{2}表示整体出现两次,只要有两个整体就可以

      console.log(reg.test("abcabc")); //true

      console.log(reg.test("defdef")); //true

      console.log(reg.test("abcdef")); //true

      console.log(reg.test("defabc")); //true */

      //练习2

      //验证一个字符串,只能由数字字母下划线组成,6到12位,不能以_开头

      const reg = /^[0-9a-zA-Z]\w{5,11}$/;

      console.log(reg.test("abcded")); //true

      console.log(reg.test("abcded123456")); //true

      console.log(reg.test("abcded1234567")); //false

      console.log(reg.test("abcded1234_")); //true

      console.log(reg.test("_abcded1234")); //false

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值