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 事件流和事件绑定
Jul 16 Javascript
jQuery select操作控制方法小结
May 26 Javascript
js事件(Event)知识整理
Oct 11 Javascript
Javascript实现重力弹跳拖拽运动效果示例
Jun 28 Javascript
深入理解关于javascript中apply()和call()方法的区别
Apr 12 Javascript
Node.js编写CLI的实例详解
May 17 Javascript
vue集成百度UEditor富文本编辑器使用教程
Sep 21 Javascript
vue中组件的过渡动画及实现代码
Nov 21 Javascript
Vue实现本地购物车功能
Dec 05 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
May 08 Javascript
解决vue打包后vendor.js文件过大问题
Jul 03 Javascript
详解vue 命名视图
Aug 14 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
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
CI框架开发新浪微博登录接口源码完整版
2014/05/28 PHP
超级退弹代码
2008/07/07 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
2012/05/24 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
javascript中自定义对象的属性方法分享
2013/07/12 Javascript
js弹窗返回值详解(window.open方式)
2014/01/11 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
JavaScript设计模式经典之命令模式
2016/02/24 Javascript
详谈js对url进行编码和解码(三种方式的区别)
2017/08/16 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
[40:01]OG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[55:35]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第二场 1月22日
2021/03/11 DOTA
python中的装饰器详解
2015/04/13 Python
python中pass语句用法实例分析
2015/04/30 Python
Python实现从URL地址提取文件名的方法
2015/05/15 Python
python实现换位加密算法的示例
2018/10/14 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
HTML5 Canvas中绘制椭圆的4种方法
2015/04/24 HTML / CSS
美国值得信赖的婚恋交友网站:eHarmony
2018/10/04 全球购物
办护照工作证明范本
2014/01/14 职场文书
小学生新学期寄语
2014/01/19 职场文书
内衣营销方案
2014/03/15 职场文书
会计求职信
2014/05/29 职场文书
不错的求职信范文
2014/07/20 职场文书
群众路线教育实践活动总结
2014/10/30 职场文书
学校党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2014年煤矿工作总结
2014/11/24 职场文书
迎新晚会主持词开场白
2015/05/28 职场文书
解决Pytorch中关于model.eval的问题
2021/05/22 Python
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL