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 相关文章推荐
syntaxhighlighter 使用方法
Jul 02 Javascript
鼠标焦点离开文本框时验证的js代码
Jul 19 Javascript
探讨js中的双感叹号判断
Nov 11 Javascript
JavaScript中数组的22种方法必学(推荐)
Jul 20 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
Dec 08 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
Apr 24 Javascript
Vuex 进阶之模块化组织详解
Jan 12 Javascript
微信小程序的tab选项卡的实现效果
May 15 Javascript
JavaScript随机数的组合问题案例分析
May 16 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
Jul 27 Javascript
Vue与React的区别和优势对比
Dec 18 Vue.js
JavaScript实现简单计时器
Jun 22 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
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
Javascript/Jquery——简单定时器的多种实现方法
2013/07/03 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
2013/12/05 Javascript
Javascript写入txt和读取txt文件示例
2014/02/12 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
Vue.js实现微信过渡动画左右切换效果
2017/06/13 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
基于模板引擎Jade的应用(详解)
2017/12/12 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
[01:30]DOTA2上海特锦赛现场采访 Loda倾情献唱
2016/03/25 DOTA
[03:17]2016完美“圣”典风云人物:冷冷专访
2016/12/08 DOTA
关于python2 csv写入空白行的问题
2018/06/22 Python
详解Django中类视图使用装饰器的方式
2018/08/12 Python
python 爬取学信网登录页面的例子
2019/08/13 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
小 200 行 Python 代码制作一个换脸程序
2020/05/12 Python
python openCV实现摄像头获取人脸图片
2020/08/20 Python
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
轻金属冶金专业毕业生自荐信
2013/11/02 职场文书
光盘行动倡议书
2014/02/02 职场文书
网络技术专业推荐信
2014/02/20 职场文书
纠风工作实施方案
2014/03/15 职场文书
生物学专业求职信
2014/07/23 职场文书
小学科学教学计划
2015/01/21 职场文书
小学教师个人工作总结2015
2015/04/20 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers