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 嵌套函数指向this对象错误的解决方法
Mar 15 Javascript
JavaScript+CSS控制打印格式示例介绍
Jan 07 Javascript
JS模拟键盘打字效果的方法
Aug 05 Javascript
基于jQuery实现音乐播放试听列表
Apr 14 Javascript
更靠谱的H5横竖屏检测方法(js代码)
Sep 13 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
Feb 14 Javascript
Vue异步组件使用详解
Apr 08 Javascript
vue.js实例todoList项目
Jul 07 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
Oct 18 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
Dec 18 Javascript
javascript 原型与原型链的理解及应用实例分析
Feb 10 Javascript
JS ES6异步解决方案
Apr 29 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
神族 PROTOSS 概述
2020/03/14 星际争霸
php不用正则采集速度探究总结
2008/03/24 PHP
php 定义404页面的实现代码
2012/11/19 PHP
php缩放gif和png图透明背景变成黑色的解决方法
2014/10/14 PHP
php计算多维数组中所有值总和的方法
2015/06/24 PHP
Django 标签筛选的实现代码(一对多、多对多)
2018/09/05 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
jQuery数据缓存功能的实现思路及简单模拟
2013/05/27 Javascript
$.getJSON在IE下失效的原因分析及解决方法
2013/06/16 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
ZeroClipboard.js使用一个flash复制多个文本框
2017/06/19 Javascript
JS原型继承四步曲及原型继承图一览
2017/11/28 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
JQuery表单元素取值赋值方法总结
2020/05/12 jQuery
matplotlib给子图添加图例的方法
2018/08/03 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
Python 实用技巧之利用Shell通配符做字符串匹配
2019/08/23 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
python图片验证码识别最新模块muggle_ocr的示例代码
2020/07/03 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
使用CSS3来实现滚动视差效果的教程
2015/08/24 HTML / CSS
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
《那片绿绿的爬山虎》教学反思
2014/02/27 职场文书
珍爱生命演讲稿
2014/05/10 职场文书
孩子教育的心得体会
2014/09/01 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
通知书大全
2015/04/27 职场文书
2015年企业团支部工作总结
2015/05/21 职场文书