javascript实现密码强度显示


Posted in Javascript onMarch 18, 2015

密码强度显示和中文强弱显示

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

    <title>My JSP 'a.jsp' starting page</title>

    <meta http-equiv="pragma" content="no-cache">

    <meta http-equiv="cache-control" content="no-cache">

    <meta http-equiv="expires" content="0">    

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

    <meta http-equiv="description" content="This is my page">

        <style type="text/css">

    * {margin:0px;padding:0px;}

    .J_PasswordStatus{padding-bottom:0px;height:18px;}

    .status-bar{margin:0px;display:inline-block;width:80px;height:5px;padding:1px;border:1px solid #42BF26;background-color:white;vertical-align:middle;font-size:0;}

    .status-bar span{background-color:#42BF26;height:5px;display:inline-block;}

    </style>

  </head>

  <body>

    <input type="password"  id="pwd1" style="float:left;margin-top:5px;" onkeyup="checkPassword();"/> 

        <div id="p_PasswordStatus" class="J_PasswordStatus"

            style="display: none; width: 300px;">

            <span class="trigger">密码强度: </span>

            <span class="status-bar" style="text-indent: 0px;">

            <span style="line-height: 5px;">  </span> 

            </span>

            <span class="status-result"></span>

        </div>

  </body>

</html>

<script type="text/javascript" src="jquery-1.7.2.min.js"></script>

<script type="text/javascript">

function checkPassword(){

    var pwd = $("#pwd1").val();

    gPasswdStatus(pwd,'p_PasswordStatus');

    }

function gPasswdStatus(value,id){

    var status = $("#"+id);

    var result = $("#"+id).find(".status-result")[0];

    var bar = $("#"+id).find(".status-bar span");

    if (value === "") {

        status.css("display","none");

    } else {

        var score = gCheckPassword(value);

        bar.css("width",score + "%");

        var resultDesp = gGetResultDesp(score);

        result.innerHTML = resultDesp;

        status.css("display","block");

    }

}

/**

 * 检验密码强度并返回得分

 * 

 * @param {}

 *            password

 * @return {Number}

 */

function gCheckPassword(password) {

    var _score = 0;

    if (!password) {

        return 0

    }

    if (password.length <= 4) {

        _score += 5

    } else {

        if (password.length >= 5 && password.length <= 7) {

            _score += 10

        } else {

            if (password.length >= 8) {

                _score += 25

            }

        }

    }

    var _UpperCount = (password.match(/[A-Z]/g) || []).length;

    var _LowerCount = (password.match(/[a-z]/g) || []).length;

    var _LowerUpperCount = _UpperCount + _LowerCount;

    if (_UpperCount && _LowerCount) {

        _score += 20

    } else {

        if (_UpperCount || _LowerCount) {

            _score += 10

        }

    }

    var _NumberCount = (password.match(/[\d]/g, "") || []).length;

    if (_NumberCount > 0 && _NumberCount <= 2) {

        _score += 10

    } else {

        if (_NumberCount >= 3) {

            _score += 20

        }

    }

    var _CharacterCount = (password.match(/[!@#$%^&*?_\.\-~]/g) || []).length;

    if (_CharacterCount == 1) {

        _score += 10

    } else {

        if (_CharacterCount > 1) {

            _score += 25

        }

    }

    if (_NumberCount && (_UpperCount && _LowerCount)

            && _CharacterCount) {

        _score += 5

    } else {

        if (_NumberCount && _LowerUpperCount && _CharacterCount) {

            _score += 3

        } else {

            if (_NumberCount && _LowerUpperCount) {

                _score += 2

            }

        }

    }

    return _score

}

 /**

  * 根据密码强度得分返回密码强弱度中文提示

  * 

  * @param {}

  *            score

  * @return {String}

  */

 function gGetResultDesp(score) {

    if (score <= 5) {

        return "\u592a\u77ed"

    } else {

    if (score > 5 && score < 20) {

        return "\u5f31"

        } else {

        if (score >= 20 && score < 60) {

            return "\u4e2d"

        } else {

            if (score >= 60) {

                return "\u5f3a"

            } else {

                return ""

            }

            }

        }

    }

 }

</script>

以上所述就是本文给大家分享的全部内容了,希望对大家熟练掌握javascript能够有所帮助。

Javascript 相关文章推荐
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
Jun 27 Javascript
简单的ajax连接库分享(不用jquery的ajax)
Jan 19 Javascript
Json实现异步请求提交评论无需跳转其他页面
Oct 11 Javascript
jquery制作 随机弹跳的小球特效
Feb 01 Javascript
jquery实现像栅栏一样左右滑出式二级菜单效果代码
Aug 24 Javascript
js实现可折叠展开的手风琴菜单效果
Sep 07 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
Dec 18 Javascript
微信小程序实战之自定义toast(6)
Apr 18 Javascript
深入理解JavaScript继承的多种方式和优缺点
May 12 Javascript
H5实现仿flash效果的实现代码
Sep 29 Javascript
Vue组件之单向数据流的解决方法
Nov 10 Javascript
laydate时间日历插件使用方法详解
Nov 14 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
Mar 18 #Javascript
JavaScript从数组中删除指定值元素的方法
Mar 18 #Javascript
JavaScript通过字符串调用函数的实现方法
Mar 18 #Javascript
JS制作简单的三级联动
Mar 18 #Javascript
javascript实现ecshop搜索框键盘上下键切换控制
Mar 18 #Javascript
javascript版2048小游戏
Mar 18 #Javascript
JavaScript判断用户是否对表单进行了修改的方法
Mar 18 #Javascript
You might like
怎样在PHP中通过ADO调用Asscess数据库和COM程序
2006/10/09 PHP
php使用websocket示例详解
2014/03/12 PHP
php输出金字塔的2种实现方法
2014/12/16 PHP
JS 自定义函数缺省值的设置方法
2010/05/05 Javascript
javascript内存管理详细解析
2013/11/11 Javascript
javascript回车完美实现tab切换功能
2014/03/13 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
javascript中Object使用详解
2015/01/26 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
基于javascript实现tab切换特效
2016/03/29 Javascript
浅析JS获取url中的参数实例代码
2016/06/14 Javascript
js制作网站首页图片轮播特效代码
2016/08/30 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
微信小程序模拟cookie的实现
2018/06/20 Javascript
详解Vue SPA项目优化小记
2018/07/03 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
2020/05/01 Javascript
[02:36]DOTA2英雄基础教程 斯拉克
2013/11/29 DOTA
详解Python中where()函数的用法
2018/03/27 Python
python多线程之事件Event的使用详解
2018/04/27 Python
Python抽象和自定义类定义与用法示例
2018/08/23 Python
为什么你还不懂得怎么使用Python协程
2019/05/13 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
python实现日志按天分割
2019/07/22 Python
Python列表的切片实例讲解
2019/08/20 Python
打印tensorflow恢复模型中所有变量与操作节点方式
2020/05/26 Python
如何理解python对象
2020/06/21 Python
Python数据库封装实现代码示例解析
2020/09/05 Python
什么是反射?如何实现反射?
2016/07/25 面试题
仓库主管岗位职责
2014/03/02 职场文书
促销活动总结怎么写
2014/06/25 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
勿忘国耻9.18演讲稿(经典篇)
2014/09/14 职场文书
仲裁协议书
2014/09/26 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python
Springboot如何同时装配两个相同类型数据库
2021/11/17 Java/Android