[蓝莓商城]Js中使用正则表达式判断密码强度

原创 2018年04月15日 02:17:26

项目地址:蓝莓商城
今天在写注册页面的前端。
密码判断部分采用正则表达式来进行判断。

密码校验原则是
  • 1.长度不能低于八位
  • 2.不能为纯数字
  • 3.最大长度无限制
  • 4.由特殊字符,数字,字母构成

    长度判断
/***
 * 判断输入的字符是否大于8位
 * @param str
 * @returns true : 输入大于8位
 *          false: 输入小于8位
 */
function isLenMaxThan8(str){
    var regex = /.{8,}/;
    return regex.test(str);
}
纯数字判断
/***
 * 判断输入的字符串是否为纯数字
 * @param str
 * @returns true : 输入为纯数字
 *          false: 输入不是数字
 */
function isAllNum(str){
    var regex = /^\d+$/;
    return regex.test(str);
}
纯字母判断
/*字母构成*/
    var regex  = /^[a-zA-Z]+$/;
    var passwordStrength = null;

    if(regex.test(password)){
        passwordStrength = 0;
        console.log("全部为纯字母 passwordStrength = " + passwordStrength );
        return passwordStrength;
    }
纯特殊字符判断
/*特殊字符构成*/

    var regex  = /^[\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E\x3A-\x40\x5B-\x60\x7B-\x7E]+$/;
    if(regex.test(password)){
        passwordStrength = 0;
        console.log("全部为纯特殊字符 passwordStrength = " + passwordStrength );
        return passwordStrength;
    }
密码强度判断
/***
 * 密码强度校验
 * @returns  0:低等强度密码,单纯字母或者单纯特殊字符
 *           1:中等强度密码,数字/字母/特殊字符(\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E)两两组合
 *           2:高等强度,包含三种
 */

function checkPasswordStrength(password){

    /*字母构成*/
    var regex  = /^[a-zA-Z]+$/;
    var passwordStrength = null;

    if(regex.test(password)){
        passwordStrength = 0;
        console.log("全部为纯字母 passwordStrength = " + passwordStrength );
        return passwordStrength;
    }
    /*特殊字符构成*/

    var regex  = /^[\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E\x3A-\x40\x5B-\x60\x7B-\x7E]+$/;
    if(regex.test(password)){
        passwordStrength = 0;
        console.log("全部为纯特殊字符 passwordStrength = " + passwordStrength );
        return passwordStrength;
    }

    var regex  = /^[\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]+$/;
    if(regex.test(password)){
        passwordStrength = 0;
        console.log("全部为纯特殊字符 passwordStrength = " + passwordStrength );
        return passwordStrength;
    }
    /*特殊字符和字母构成*/
    /*(?=.*?[a-z])是肯定型顺序环视,限定当前位置的后面,能匹配.*?[a-z]*/
    var regex1  =  /^(?=.*?[a-zA-Z])(?=.*?[\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E])[a-zA-Z\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]+$/;
    /*特殊数字和字母构成*/
    var regex2  =  /^(?=.*?[a-zA-Z])(?=.*?[0-9])[a-zA-Z0-9]+$/;
    /*特殊数字和和字符构成*/
    var regex3  =  /^(?=.*?[0-9])(?=.*?[\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E])[0-9\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]+$/;
    if(regex1.test(password)){
        passwordStrength = 1;
        console.log("特殊字符和字母构成 passwordStrength = " + passwordStrength );
        return passwordStrength;
    }
    if(regex2.test(password)){
        passwordStrength = 1;
        console.log("特殊数字和字母构成 passwordStrength = " + passwordStrength );
        return passwordStrength;
    }
    if(regex3.test(password)){
        passwordStrength = 1;
        console.log("特殊数字和和字符构成 passwordStrength = " + passwordStrength );
        return passwordStrength;
    }

    var regex  =  /^(?=.*?[a-zA-Z])(?=.*?[0-9])(?=.*?[\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E])[a-zA-Z0-9\x21-\x2F\x3A-\x40\x5B-\x60\x7B-\x7E]+$/;
    if(regex.test(password)){
        passwordStrength = 2;
        console.log("特殊数字和和字符和字母构成 passwordStrength = " + passwordStrength );
        return passwordStrength;
    }
    return null;
}



版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011676300/article/details/79946220

实践项目之深入Javascript正则表达式实战视频课程

深入Javascript正则表达式, 快速掌握正则表达式的核心知识.为后期项目的实战做好准备!
  • 2016年06月15日 16:51

jquery正则表达式检测密码强度

转贴
  • devil_heart
  • devil_heart
  • 2016-12-24 14:24:55
  • 946

一个正则表达式验证密码强度

private int CheckSecurity(string pwd) { return Regex.Replace(pwd, "^(?:([a-z])|([A-Z])|([0-9])|(...
  • jaycee110905
  • jaycee110905
  • 2015-07-31 16:35:16
  • 2753

js用正则进行密码强度验证

html> html lang="en"> head> meta charset="UTF-8"> title>Documenttitle> head> style type="tex...
  • ITzhongzi
  • ITzhongzi
  • 2017-01-07 14:34:14
  • 1365

JS正则表达式应用——基于Jquery的验证密码强度特效

当用户登录网站时,一般要求用户提供登录该网站的用户名和密码。从某种意义上说,密码的复杂程度越高,用户的信息安全性越高。因此,很多网站在注册用户信息或修改用户密码时,往往会提供一个密码强度的说明,从而提...
  • xiaozhi_2016
  • xiaozhi_2016
  • 2016-09-02 15:40:52
  • 1768

一个好用的检查密码强度的正则表达式

一个好用的检查密码强度的正则表达式,可以检查至少有一个大写,一个小写, 一个特殊字符,长度要是8: (?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z]...
  • jackyrongvip
  • jackyrongvip
  • 2013-07-01 17:31:43
  • 3717

JavaScript判断密码强度

在一些网站注册的时候经常可以看到密码强度提示,例如优酷: 今天自己做了一个JS密码强度判断,效果如下: 以下是代码:...
  • ayhlay
  • ayhlay
  • 2013-09-06 11:07:33
  • 13284

密码验证,密码强度正则表达式

原文地址:http://blog.sina.com.cn/s/blog_46ee420b0100yi3g.html 注:还未验证- -,先记录下来 当用户登录网站时,一般要...
  • godwillcry
  • godwillcry
  • 2015-08-18 17:20:17
  • 2950

javascript 代码自动判断文本框中的密码强度

  • 2008年12月30日 10:20
  • 2KB
  • 下载

jquery密码强度检测_密码强度验证_密码强度正则表达式代码_动画效果

  • 2015年05月23日 16:26
  • 34KB
  • 下载
收藏助手
不良信息举报
您举报文章:[蓝莓商城]Js中使用正则表达式判断密码强度
举报原因:
原因补充:

(最多只允许输入30个字)