javascripit实现密码强度检测代码分享


Posted in Javascript onDecember 12, 2013
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>
        密码强度检测
    </title>
    <style type="text/css">
        body{font:12px/1.5 Arial;} input{float:left;font-size:12px;width:150px;font-family:arial;border:1px
        solid #ccc;padding:3px;} input.correct{border:1px solid green;} input.error{border:1px
        solid red;} #tips{float:left;margin:2px 0 0 20px;} #tips span{float:left;width:50px;height:20px;color:#fff;overflow:hidden;background:#ccc;margin-right:2px;line-height:20px;text-align:center;}
        #tips.s1 .active{background:#f30;} #tips.s2 .active{background:#fc0;} #tips.s3
        .active{background:#cc0;} #tips.s4 .active{background:#090;}
    </style>
    <script type="text/javascript">
        window.onload = function() {
            var oTips = document.getElementById("tips");
            var oInput = document.getElementsByTagName("input")[0];
            var aSpan = oTips.getElementsByTagName("span");
            var aStr = ["弱", "中", "强", "非常好"];
            var i = 0;
            oInput.onkeyup = oInput.onfocus = oInput.onblur = function() {
                var index = checkStrong(this.value);
                this.className = index ? "correct": "error";
                oTips.className = "s" + index;
                for (i = 0; i < aSpan.length; i++) aSpan[i].className = aSpan[i].innerHTML = "";
                index && (aSpan[index - 1].className = "active", aSpan[index - 1].innerHTML = aStr[index - 1])
            }
        };
        /** 强度规则
            + ------------------------------------------------------- +
            1) 任何少于6个字符的组合,弱;任何字符数的同类字符组合,弱;
            2) 任何字符数的两类字符组合,中;
            3) 12位字符数以下的三类或四类字符组合,强;
            4) 12位字符数以上的三类或四类字符组合,非常好。
            + ------------------------------------------------------- +
            **/
        //检测密码强度
        function checkStrong(sValue) {
            var modes = 0;
            if (sValue.length < 6) return modes;
            if (/\d/.test(sValue)) modes++; //数字
            if (/[a-z]/.test(sValue)) modes++; //小写
            if (/[A-Z]/.test(sValue)) modes++; //大写  
            if (/\W/.test(sValue)) modes++; //特殊字符
            switch (modes) {
            case 1:
                return 1;
                break;
            case 2:
                return 2;
            case 3:
            case 4:
                return sValue.length < 12 ? 3 : 4
                break;
            }
        }
    </script>
</head>
<body>
    <input type="password" value="" maxlength="16" />
    <div id="tips">
        <span></span>
        <span></span>
        <span></span>
        <span></span>
    </div>
</body>
</html>
Javascript 相关文章推荐
javascript中有趣的反柯里化深入分析
Dec 05 Javascript
表单元素的submit()方法和onsubmit事件应用概述
Feb 01 Javascript
自动最大化窗口的Javascript代码
May 22 Javascript
ie浏览器使用js导出网页到excel并打印
Mar 11 Javascript
JS在可编辑的div中的光标位置插入内容的方法
Nov 20 Javascript
jquery操作 iframe的方法
Dec 03 Javascript
不得不分享的JavaScript常用方法函数集(下)
Dec 25 Javascript
基于javascript实现动态时钟效果
Aug 18 Javascript
AngularJS中run方法的巧妙运用
Jan 04 Javascript
详解jquery validate实现表单验证 (正则表达式)
Jan 18 Javascript
jQuery实现jQuery-form.js实现异步上传文件
Apr 28 jQuery
clipboard.js在移动端复制失败的解决方法
Jun 13 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
Dec 12 #Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
Dec 12 #Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
Dec 12 #Javascript
js中typeof的用法汇总
Dec 12 #Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
Dec 12 #Javascript
解析页面加载与js函数的执行 onload or ready
Dec 12 #Javascript
js实现弹窗插件功能实例代码分享
Dec 12 #Javascript
You might like
PHP安全性漫谈
2012/06/28 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
2012/07/20 PHP
php错误级别的设置方法
2013/06/17 PHP
CURL状态码列表(详细)
2013/06/27 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
Javascript 自适应高度的Tab选项卡
2011/04/05 Javascript
用js小类库获取浏览器的高度和宽度信息
2012/01/15 Javascript
js 验证密码强弱的小例子
2013/03/21 Javascript
Jquery带搜索框的下拉菜单
2013/05/06 Javascript
使用Nodejs开发微信公众号后台服务实例
2014/09/03 NodeJs
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
node实现基于token的身份验证
2018/04/09 Javascript
JS文件中加载jquery.js的实例代码
2018/05/05 jQuery
详解Vue 匿名、具名和作用域插槽的使用方法
2019/04/22 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
pycharm设置注释颜色的方法
2018/05/23 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
python爬取股票最新数据并用excel绘制树状图的示例
2021/03/01 Python
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
毕业生求职自荐信怎么写
2014/01/08 职场文书
医生进修自我鉴定
2014/01/19 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
社会公德演讲稿
2014/05/20 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
委托书格式范文
2015/01/28 职场文书
优秀班干部主要事迹材料
2015/11/04 职场文书
2016应届毕业生自荐信范文
2016/01/28 职场文书
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript