正则的疑问

来源:3-10 作业题

Nuyoah_星辰

2020-09-02 08:41:15

 密码输入框,正确的条件是:6-20位字母、数字或符号。

            * 如果输入内容的不满足条件时,输入框下面给出提示内容为:6-20位字母、数字或符号,且字体颜色变为红色;

            * 如果输入的密码满足条件,内容是纯数字、纯字母或者纯符号,密码强度为低,输入框后面的小方块不变;

              如果是两种类型的结合,那么密码强度为一般,也就是第二块变为橘色;

              如果是三种类型的结合,那么密码强度为高,第三块变为绿色。


老师这里的正则应该怎么写啊,越写越越混乱了,老师给我讲解一下

写回答

1回答

好帮手慕星星

2020-09-02

同学你好,可以参考下面思路:

// 变量接收密码框的值
var pwdValue = '密码框的值';
// 定义数量正则
var patt = /^\S{6,20}$/;
// 定义弱-中-强的正则
var pattern1 = /^\d{6,20}$|^[a-zA-Z]{6,20}$|^(\W|_){6,20}$/,
    pattern2 = /^[\da-zA-Z]{6,20}$|^[(\W|_)a-zA-Z]{6,20}$|^[(\W|_)\d]{6,20}$/,
    pattern3 = /^[(\W|_)\da-zA-Z]{6,20}$/;
//当数量不符合时的操作
if (!patt.test(pwdValue)) {
    // 提示信息
} else {
    //当数量符合时的操作

    // 弱
    if (pattern1.test(pwdValue)) {
        //  改变后面小方块颜色
    } else if (pattern2.test(pwdValue)) {
        // 中
        //  改变后面小方块颜色
    } else if (pattern3.test(pwdValue)) {
        // 强
        //  改变后面小方块颜色
    }

}

自己尝试写一下,祝学习愉快!

0

0 学习 · 14456 问题

查看课程