正则的疑问
来源:3-10 作业题
Nuyoah_星辰
2020-09-02 08:41:15
密码输入框,正确的条件是:6-20位字母、数字或符号。
* 如果输入内容的不满足条件时,输入框下面给出提示内容为:6-20位字母、数字或符号,且字体颜色变为红色;
* 如果输入的密码满足条件,内容是纯数字、纯字母或者纯符号,密码强度为低,输入框后面的小方块不变;
如果是两种类型的结合,那么密码强度为一般,也就是第二块变为橘色;
如果是三种类型的结合,那么密码强度为高,第三块变为绿色。
老师这里的正则应该怎么写啊,越写越越混乱了,老师给我讲解一下
1回答
同学你好,可以参考下面思路:
// 变量接收密码框的值 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)) { // 强 // 改变后面小方块颜色 } }
自己尝试写一下,祝学习愉快!
相似问题