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 相关文章推荐
json 入门基础教程 推荐
Oct 31 Javascript
javascript 进阶篇2 CSS XML学习
Mar 14 Javascript
jquery 无限级下拉菜单的简单实现代码
Feb 21 Javascript
七个很有意思的PHP函数
May 12 Javascript
jQuery层次选择器用法示例
Sep 09 Javascript
利用JavaScript如何查询某个值是否数组内
Jul 30 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
Jun 17 Javascript
JavaScript 隐性类型转换步骤浅析
Mar 15 Javascript
javaScript把其它类型转换为Number类型
Oct 13 Javascript
three.js 将图片马赛克化的示例代码
Jul 31 Javascript
vue style width a href动态拼接问题的解决
Aug 07 Javascript
JavaScript实现简单计时器
Jun 22 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
拼音码表的生成
2006/10/09 PHP
ASP和PHP都是可以删除自身的
2007/04/09 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
PHP设计模式之PHP迭代器模式讲解
2019/03/22 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
jquery miniui 教程 表格控件 合并单元格应用
2012/11/25 Javascript
清除div下面的所有标签的方法
2014/02/17 Javascript
jquery获取tagName再进行判断
2014/05/29 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
javascript中Function类型详解
2015/04/28 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
VUE 实现滚动监听 导航栏置顶的方法
2018/09/11 Javascript
详解webpack+ES6+Sass搭建多页面应用
2018/11/05 Javascript
Python实现统计英文单词个数及字符串分割代码
2015/05/28 Python
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
python中实现指定时间调用函数示例代码
2017/09/08 Python
Python学生信息管理系统修改版
2018/03/13 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
2018/05/26 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
Python一行代码实现快速排序的方法
2019/04/30 Python
python3.4+pycharm 环境安装及使用方法
2019/06/13 Python
基于Django统计博客文章阅读量
2019/10/29 Python
Python实现结构体代码实例
2020/02/10 Python
通过python调用adb命令对App进行性能测试方式
2020/04/23 Python
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
GafasWorld西班牙:购买太阳镜、眼镜和隐形眼镜
2019/09/08 全球购物
残疾人创业典型事迹
2014/02/01 职场文书
感谢信格式范文
2015/01/22 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
谢师宴家长答谢词
2015/09/30 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS