正则表达式每个字符的学习

regular:规则;expression:表达式;
RegExp: regular expression正则表达式,是按照特定的语法规则编写的字符串;用来进行字符串的匹配检查。
使用场景:表单操作是,用来验证用户输入是否符合指定规则。
var reg = // 字面量创建正则验证方式,隐式定义
var reg1 = new RegExp()//实例化构造函数方法创建正则验证。显示定义。

test和exec

    ```
     //定义正则表达式  reg里面存的是对象
    let str = "我们都在学前端"
    let reg = /前端/ //检测
    //检测是否匹配 text,返回值true/false
    console.log(reg.test(str));//被检测,,false

    // exec()方法在一个指定字符串中执行一个搜索匹配
    //返回值是数组,找不到否则返回null
    //检索exec()
    console.log(reg.exec(str));
    ```

定义正则表达式

^:匹配字符串的起始位置

   	  var regex1 = /^abc/
      //test():是一个正则类型的方法,检测字符串是否满足正则的要求。
      //参数:待检测的字符串。
      console.log(regex1.test("abcoo"));//true

      //$:匹配字符串的结束位置。
      var regex2 = /abc$/
      console.log(regex2.test("jisindabc"));//true

$:匹配字符串的结束位置。

        var regex2 = /abc$/
        console.log(regex2.test("jisindabc"));//true


        var regex3 = /^abc$///abc开头,abc结尾的
        console.log(regex3.test("abcvehivhevheihabc"));//false
        console.log(regex3.test("abc"));//true

\b匹配单词边界

        var regex4 = /is\b/
        console.log(regex4.test("thre gexpis"));//true
        console.log(regex4.test("this gexpre"));//true

\d:匹配任意数字

        var regex5 = /\d/
        console.log(regex5.test("23号saww8"));//true
        console.log(regex5.test("erhefhofhoh"));//false

\w:匹配数字字母下划线(字母不区分大小写)

        var regex6 = /\w/
        console.log(regex6.test("_"));//true
        console.log(regex6.test("3"));//true
        console.log(regex6.test("v"));//true

\s:匹配空格

        var regex7 = /\s/
        console.log(regex7.test("a b"));//true
        console.log(regex7.test("ab"));//false

. :匹配除换行符外任意字符

        var regex8 = /./
        console.log(regex8.test("eheuih1232323343"));//true

[]:匹配范围

        // [abc]:匹配[]内任一字符
        // []:匹配范围
        // [0-9] [a-z] [A-Z]
        var regex9 = /[0-9a-zA-Z]/
        console.log(regex9.test("123934823"));//true
        console.log(regex9.test("asudhfihwif"));//true
        console.log(regex9.test("VUUCYKULKJ"));//true
        console.log(regex9.test("_$dsoe4343"));//true
        console.log(regex9.test("_$&*%^$"));//false

:匹配前面的字符0或1次,无上限

+:匹配前面的字符>= 1次,无上限

*:匹配前面的字符>=0次,无上限

{n}:匹配前面的字符n次,无上限

{n,} :匹配前面的字符>= n次,无上限

{n,m} :匹配前面的字符最少n次,最多m次;(n<m)

        var regex10 = /^\d{3}$///\d:任意数字  {3}个数,,匹配任意数字个数只有三个
        console.log(regex10.test("324"));//true
        console.log(regex10.test("32456"));//false
        console.log(regex10.test("abd"));//false
        console.log(regex10.test("34hh"));//false
        console.log(regex10.test("34hccueci"));//false
        var regex = /^\d{3,}$///匹配任意数字个数最少三个,最大个数无上限
        var regex11 = /^\d{3,6}$///匹配任意数字个数3~6个,包含3和6
        console.log(regex11.test("34"));//false
        console.log(regex11.test("327677"));//true

|:或者

        var regex12 = /^a(b|c)d$///从a开始,中间字符可以说b或者c,然后必须以d结尾
        console.log(regex12.test("ccd"));//false
        console.log(regex12.test("acd"));//true
        console.log(regex12.test("abd"));//true
        console.log(regex12.test("abcd"));//false
        console.log(regex12.test("abcfd"));//false

[\u4e00-\u9fa5]:匹配任意中文字符

[\u4e00-\u9fa5]

修饰符

g:全局检索,不加的话智慧检索第一次出现的
i:不区分大小写。ignore(忽略)

replace替换

        var str1 = "hello regExp"
        console.log(str1.replace(/e/g, "9"));//把所有小写的e替换成9

弱密码:只有数字6-8位/^\d{6,8} $ /
中密码:包含数字字母下划线6-8位/^ \ w{6,8} $ /
强类型:大写字母开头,之后包含数字字母下划线6-8位 /^ [A-Z]\w{5,7} $ /

		var password = prompt("请输入密码")
        var numreg = /^\d{6,8}$/
        var letterreg = /^\w{6,8}$/
        var strongreg = /^[A-Z]\w{5,7}$/

        if (numreg.test(password)) {
            console.log("弱密码,请加强");
        } else if (letterreg.test(password)) {
            console.log("中密码,请再加强");
        } else if (strongreg.test(password)) {
            console.log("强密码,可以了");
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧寂173

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值