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 相关文章推荐
点击广告后才能获得下载地址
Oct 26 Javascript
JavaScript中的面向对象介绍
Jun 30 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
Jun 06 Javascript
javascript修改IMG标签的src问题
Mar 28 Javascript
JavaScript 学习笔记之语句
Jan 14 Javascript
jQuery实现的多级下拉菜单效果代码
Aug 24 Javascript
JavaScript File分段上传
Mar 10 Javascript
JS实现HTML表格排序功能
Aug 05 Javascript
给easyui datebox扩展一个清空的实例
Nov 09 Javascript
Scala解析Json字符串的实例详解
Oct 11 Javascript
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
Jan 25 jQuery
2019最新21个MySQL高频面试题介绍
Feb 06 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
Zerg建筑一览
2020/03/14 星际争霸
印尼林东PWN黄金曼特宁咖啡豆:怎么冲世界上最醇厚的咖啡冲煮教程
2021/03/03 冲泡冲煮
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
解析php中var_dump,var_export,print_r三个函数的区别
2013/06/21 PHP
PHP读取文件内容后清空文件示例代码
2014/03/18 PHP
php实现读取手机客户端浏览器的类
2015/01/09 PHP
PHP微信开发之二维码生成类
2015/06/26 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
thinkphp实现附件上传功能
2017/05/26 PHP
laravel框架实现去掉URL中index.php的方法
2019/10/12 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
详解nodejs异步I/O和事件循环
2017/06/07 NodeJs
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
js/jQuery实现全选效果
2019/06/17 jQuery
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
python人人网登录应用实例
2014/09/26 Python
Python3 修改默认环境的方法
2019/02/16 Python
Keras实现支持masking的Flatten层代码
2020/06/16 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
Python+OpenCV图像处理——图像二值化的实现
2020/10/24 Python
canvas进阶之贝塞尔公式推导与物体跟随复杂曲线的轨迹运动
2018/01/10 HTML / CSS
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
报社实习生自荐信
2014/01/24 职场文书
保险公司晨会主持词
2014/03/22 职场文书
教师遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
MySQL 可扩展设计的基本原则
2021/05/14 MySQL
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript