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实现简单的间隔向上滚动效果
Mar 09 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
May 03 Javascript
JavaScript生成福利彩票双色球号码
May 15 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
Jul 03 Javascript
javascript设置页面背景色及背景图片的方法
Dec 29 Javascript
原生js实现图片放大缩小计时器效果
Jan 20 Javascript
关于Node.js的events.EventEmitter用法介绍
Apr 01 Javascript
JS异步文件上传(兼容IE8+)
Apr 02 Javascript
socket.io实现在线群聊功能
Apr 07 Javascript
Angular directive递归实现目录树结构代码实例
May 05 Javascript
最简单的vue消息提示全局组件的方法
Jun 16 Javascript
javascript实现移动端上传图片功能
Aug 18 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依赖注入的理解实例分析
2016/10/09 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
JavaScript使用slice函数获取数组部分元素的方法
2015/04/06 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
angular分页指令操作
2017/01/09 Javascript
js实现tab选项卡切换功能
2017/01/13 Javascript
微信小程序仿RadioGroup改变样式的处理方案
2018/07/13 Javascript
element el-tree组件的动态加载、新增、更新节点的实现
2020/02/27 Javascript
Vue路由 重定向和别名的区别说明
2020/09/09 Javascript
[02:27]2018DOTA2亚洲邀请赛赛前采访-OpTic
2018/04/03 DOTA
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
python 实现turtle画图并导出图片格式的文件
2019/12/07 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
APM Monaco中国官网:来自摩纳哥珠宝品牌
2017/12/27 全球购物
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
优秀班干部事迹材料
2014/01/26 职场文书
网络工程师专家职业发展路线
2014/02/14 职场文书
经济管理毕业生求职信
2014/03/15 职场文书
《青蛙看海》教学反思
2014/04/23 职场文书
校本教研活动总结
2014/07/01 职场文书
2014年社区国庆节活动方案
2014/09/16 职场文书
企业法人授权委托书
2014/09/25 职场文书
公务员个人总结
2015/02/12 职场文书
档案工作个人总结
2015/03/03 职场文书
vue实现列表垂直无缝滚动
2022/04/08 Vue.js
win11无线投屏在哪设置? win11无线投屏功能的使用方法
2022/04/08 数码科技
golang的文件创建及读写操作
2022/04/14 Golang