js验证密码强弱

摘要:
JS密码强度验证˂!

JS密码强度验证

<%@ Page Language="C#" %>

<!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 id="Head1" runat="server">
    <title>无标题页</title>
    <script language="javascript" type="text/javascript">  
    //CharMode函数  
    //测试某个字符是属于哪一类.  
    function CharMode(iN){  
        if (iN>=48 && iN <=57) //数字  
        return 1;  
        if (iN>=65 && iN <=90) //大写字母  
        return 2;  
        if (iN>=97 && iN <=122) //小写  
        return 4;  
        else  
        return 8; //特殊字符  
    }  
    //bitTotal函数  
    //计算出当前密码当中一共有多少种模式  
    function bitTotal(num){  
        modes=0;  
        for (i=0;i<4;i++){  
        if (num & 1) modes++;  
        num>>>=1;  
        }  
        return modes;  
    }  
    //checkStrong函数  
    //返回密码的强度级别  

    function checkStrong(sPW){  
        if (sPW.length<=4)  
        return 0; //密码太短  
        Modes=0;  
        for (i=0;i<sPW.length;i++){  
        //测试每一个字符的类别并统计一共有多少种模式.  
        Modes|=CharMode(sPW.charCodeAt(i));  
        }  
        return bitTotal(Modes);  
    }  

    //pwStrength函数  
    //当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色  
    function pwStrength(pwd){  
        O_color="#e0f0ff";  
        L_color="#FF0000";  
        M_color="#FF9900";  
        H_color="#33CC00";  
        if (pwd==null||pwd==''){  
            Lcolor=Mcolor=Hcolor=O_color;  
        }  
        else
        {  
            S_level=checkStrong(pwd);  
            switch(S_level) 
            {  
                case 0:  
                Lcolor=Mcolor=Hcolor=O_color;  
                case 1:  
                Lcolor=L_color;  
                Mcolor=Hcolor=O_color;  
                break;  
                case 2:  
                Lcolor=Mcolor=M_color;  
                Hcolor=O_color;  
                break;  
                default:  
                Lcolor=Mcolor=Hcolor=H_color;  
            }  
        }  

        document.getElementById("strength_L").style.background=Lcolor;  
        document.getElementById("strength_M").style.background=Mcolor;  
        document.getElementById("strength_H").style.background=Hcolor;  
        return;  
    }  

</script>  
</head>
<body>
    <form id="form1" runat="server">
    <div>
        输入密码:<input id="TextBox1" runat="server" onkeyup="pwStrength(this.value)" onblur="pwStrength(this.value)" /><br />
        密码强度:
        <table border="1" cellpadding="1" cellspacing="1" borderColorDark="#fdfeff" borderColorLight="#99ccff" style=" 200px; display: inline; background-color:#e0f0ff">
            <tr>
                <td id="strength_L" style=" 100px; height: 19px;" align="center"></td>
                <td id="strength_M" style=" 100px; height: 19px;" align="center"></td>
                <td id="strength_H" style=" 100px; height: 19px;" align="center"></td>
            </tr>
        </table>
    </div>
    </form>
</body>
</html>

效果如图:
js验证密码强弱第1张

免责声明:文章转载自《js验证密码强弱》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇unittest 执行airtest 脚本AD LDS概述下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用js设置input标签只读 readonly 属性

先上代码: <html> <head> <title> test </title> <meta charset="utf-8"> </head> <script language="JavaScript"> function setReadon...

详解 JS 中 new 调用函数原理

JavaScript 中经常使用构造函数创建对象(通过 new 操作符调用一个函数),那在使用 new 调用一个函数的时候到底发生了什么?先看几个例子,再解释背后发生了什么。 1)看三个例子 1.1 无 return 语句 构造函数最后没有 return 语句,这也是使用构造函数时默认情况,最后会返回一个新对象,如下: function Foo(age)...

JS以及CSS对页面的阻塞

一、JS阻塞    所有的浏览器在下载JS文件的时候,会阻塞页面上的其他活动,包括其他资源的下载以及页面内容的呈现等等,只有当JS下载、解析、执行完,才会进行后面的 操作。在现代的浏览器中CSS资源和图片image资源是并行下载的,在IE6中默认的并行的加载数目是2个,在IE6以后以及其他的浏览器中的默认的并行加载数目是6个。 在浏览器从服务器接收到HTM...

New Moto X 2014 全版本RSD&amp;amp;Fastboot刷官方底包教程

本来我是不想写教程的,因为这样的教程实在是太多了,基本上大家也都会了,为什么还要多次一举,发来发去的呢?实在没什么意义!但是我觉得吧,别人的教程写的都太过简单,太过明了了,有时候我们很难理解,这到底是怎么操作的,他一句话就概括了,我们却一头雾水,不知道如何做到,然后又要问东问西去解答。首先要了解我们为什么要刷底包,刷底包有什么作用?底包就像是window的...

JS iframe 跨域

转自:wujiajun1020 方案一、剪贴板 原理:IE本身依附于windows平台的特性为我们提供了一种基于iframe,利用内存来“绕行”的方案,在这里我称之为,本地存储原理。 缺点:不支持非IE浏览器,并且影响到用户对剪贴板的操作,用户体验非常不好,特别是在IE7下,受安全等级影响,会弹出提示框。 子页面在子域:demo.ioldfish.cn下...

ThinkPHP数组在JS里使用

使用模型查询的返回的结果集为对象,其中里面的数据,TP5框架会自动对里面的data:protected该项进行处理。 但有时我们就想要数据,就想返回一个数组就可以了,怎么办?有两种方法可以实现: 方法一:找到TP5框架中的database.php文件,该文件中找到 resultset_type 该项,将后面的 array 改成 hinkCollection...