js学习第13天

#### 正则表达式的概念及作用

     概念:字符串正确的规则

        作用:前后端交互的过程中,往往有大量数据效验功能,

    通过正则对象的本地字符串格式验证,可以大大提高前后端交互的效率,

    降低服务器压力。

#### 正则对象的定义

    1:构造方法

    var reg = new RegExp("格式字符串",["修饰符"])

    test

      功能:判断目标字符串是否满足正则对象的格式,返回布尔值

      参数:test(目标字符串)

      返回值:布尔值

    2:字面量

    var reg = /格式字符串/修饰符;

    reg = /a/  :代表目标字符串至少包含一个a

    通常创建正则用字面量的方式,但以下情况必须用构造方法

       var arr = ["dsdds","dcsds","gfgf"]

       必须用var reg = new RegExp(arr[0])的方法来创建

### 正则的各种符号

     格式字符串:

        普通字符+特殊字符

        普通字符:普通的字符,看起来是啥就是啥

        特殊字符:a:单个字符

                 b:组合字符

                 c:各种括号

        \转义字符,它不能单独出现

        必须和其他字符一起出现构成一个新的字符

        与特殊字符结合去掉功能,与普通字符结合添加新功能

### 正则

      action:提交数据的服务器文件地址

        method:数据提交的方式

        get:效率高 但安全性低 五菱宏光

        post:效率低 但安全性高 武装押运


 

        只能    包含a   ^$成对出现

        至少     //  

        正则中的特殊字符:

        单个字符:

        ^:正则开始

        $  : 正则结束

        .  : 元字符, 表示任意一个字符    

        \. : 表示转义字符       \.表示.

        +: 表示其前面紧挨着的字符至少出现1次 等价{1,}

        * :表示其前面出现的字符至少出现过0次  等价{0,}

        ?:  表示其前面出现的字符至少出现过0次,至多1次  等价{0,1}

    | : 表示或者

        组合字符:

    \d : 0-9之间的任意一个数字 \d只占一个位置 

    \D : 除了\d

    \w : 数字,字母 ,下划线 0-9 a-z A-Z _ 

    \W : 除了\w

    \s : 空格或者空白等 

    \S : 除了\s

        括号:

       {m,n}表示括号前面紧挨着的字符至少出现m个,至多出现n个 : 以b开头  至少3个a     至多5个a       /^ba{3,5}&/

    {m}表示括号前面紧挨着的字符只能出现m个              

    {m,}表示括号前面紧挨着的字符至少出现m个

    [] 表示括号内的任意一个字符

    [wd3h]

    [a-z]表示任意一个小写字母 [a-zA-Z0-9]

    [^  ]表示非括号内的任意一个字符

    ()一般与或连用 表示优先级

    [\u4e00-\u9fa5] 任意一个中文字符

###  密码判断

     数字  字母 其他字符 三者都有为强 其中之一为弱 除此之外为中

     至少包含 //  

     只能包含 /^  $/

     1:至少包含每一种 //&&//&&// 返回强

     2:只包含3个中的一种 /^  $/||/^  $/||/^  $/ 返回弱



 

### 表单验证

    先将框的值默认赋false 当失去焦点时 判断正则如果合适返回”正确“标识 赋值true 反之错误赋值false

      所有的表单只有在都填写正确时 &&  才能返回true



密码强弱的判断

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <input type="text">
    <button>测试</button>
</body>
</html>
<script>
var oinput = document.querySelector("input")
var btn = document.querySelector("button")
// 密码判断  数字字母 其他字符 三者都有为强,其中之一为弱 ,除此之外为中

// 至少包含
// +: 表示其前面紧挨着的字符至少出现1次 等价{1,}
 var reg1 = /\d+/;
 var reg2 = /[a-zA-Z]+/
 var reg3 = /[!#$%]+/
//  只能包含
var _reg1 = /^\d+$/
var _reg2 = /^[a-zA-Z]+$/
var _reg3 = /^[!#$%]+$/

btn.onclick = function(){
    // 至少包含每一种 返回强
    if(reg1.test(oinput.value)&&reg2.test(oinput.value)&&reg3.test(oinput.value)){
        console.log("强")
        // 只能包含3个中的一种 返回弱
    }else if(_reg1.test(oinput.value)||_reg2.test(oinput.value)||_reg3.test(oinput.value)){
        console.log("弱")
    }else{
        console.log("中")
    }
}



</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值