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 iframe中打开文件,并检测iframe存在否
Dec 28 Javascript
JavaScript词法作用域与调用对象深入理解
Nov 29 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
Oct 23 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
May 18 Javascript
Node.js+Express配置入门教程详解
May 19 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
Mar 22 jQuery
label+input实现按钮开关切换效果的实例
Aug 16 Javascript
vue中axios解决跨域问题和拦截器的使用方法
Mar 07 Javascript
iview日期控件,双向绑定日期格式的方法
Mar 15 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
Oct 15 Javascript
vue中提示$index is not defined错误的解决方式
Sep 02 Javascript
教你部署vue项目到docker
Apr 05 Vue.js
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
超级实用的7个PHP代码片段分享
2012/01/05 PHP
php中chdir()函数用法实例
2014/11/13 PHP
php获取四位字母和数字的随机数的实现方法
2015/01/09 PHP
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
仿jQuery的siblings效果的js代码
2011/08/09 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
javascript数组随机排序实例分析
2015/07/22 Javascript
jQuery实现购物车表单自动结算效果实例
2015/08/10 Javascript
Bootstrap框架安装使用详解
2017/01/21 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
浅谈Vuex的状态管理(全家桶)
2017/11/04 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
js中async函数结合promise的小案例浅析
2019/04/14 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
Python打印斐波拉契数列实例
2015/07/07 Python
浅谈Python的异常处理
2016/06/19 Python
python 判断是否为正小数和正整数的实例
2017/07/23 Python
python实现SOM算法
2018/02/23 Python
Python英文文本分词(无空格)模块wordninja的使用实例
2019/02/20 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
Python如何实现爬取B站视频
2020/05/20 Python
Django日志及中间件模块应用案例
2020/09/10 Python
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
门卫岗位职责
2013/11/15 职场文书
护理学专业推荐信
2013/12/03 职场文书
最新党员思想汇报
2014/01/01 职场文书
秸秆管理实施方案
2014/03/15 职场文书
机电专业毕业生求职信
2014/07/01 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
使用Python拟合函数曲线
2022/04/14 Python