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 相关文章推荐
jQuery解决iframe高度自适应代码
Dec 20 Javascript
鼠标划过实现延迟加载并隐藏层的js代码
Oct 11 Javascript
jquery中map函数与each函数的区别实例介绍
Jun 23 Javascript
JavaScript保存并运算页面中数字类型变量的写法
Jul 06 Javascript
Javascript的比较汇总
Jul 25 Javascript
谈谈JavaScript的New关键字
Aug 26 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
Feb 10 Javascript
Vue.directive自定义指令的使用详解
Mar 10 Javascript
详解angular ui-grid之过滤器设置
Jun 07 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
Nov 30 Javascript
深入了解JavaScript 防抖和节流
Sep 12 Javascript
解决webpack多页面内存溢出的方法示例
Oct 08 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
source.php查看源文件
2006/12/09 PHP
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
2013/12/20 PHP
php 开发中加密的几种方法总结
2017/03/22 PHP
浅谈php使用curl模拟多线程发送请求
2019/03/08 PHP
js+jquery实现图片裁剪功能
2015/01/02 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
2015/12/02 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
js获取隐藏元素的宽高
2017/02/24 Javascript
Vue实现购物车功能
2017/04/27 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
2017/08/16 Javascript
js数据类型检测总结
2018/08/05 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
Vue实现手机计算器
2020/08/17 Javascript
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
[01:15]《辉夜杯》北京网鱼队巡礼
2015/10/26 DOTA
python实现的各种排序算法代码
2013/03/04 Python
python关闭windows进程的方法
2015/04/18 Python
Python使用pygame模块编写俄罗斯方块游戏的代码实例
2015/12/08 Python
老生常谈python之鸭子类和多态
2017/06/13 Python
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
在Python中给Nan值更改为0的方法
2018/10/30 Python
在scrapy中使用phantomJS实现异步爬取的方法
2018/12/17 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
浅析python 定时拆分备份 nginx 日志的方法
2020/04/27 Python
巴西网上药房:onofre
2016/11/21 全球购物
Calzedonia美国官网:意大利风格袜子、打底裤和沙滩装
2018/07/19 全球购物
包装类的功能、种类、常用方法
2012/01/27 面试题
九年级物理教学反思
2014/01/29 职场文书
法院先进个人事迹材料
2014/05/04 职场文书
公司合作协议范文
2014/10/01 职场文书
导游词之神仙居景区
2019/11/15 职场文书
雄兵连:第三季先行图公开,天使恶魔联合,银河之力的新力量
2021/06/11 国漫