zoukankan      html  css  js  c++  java
  • JS密码强度验证(兼容IE,火狐,谷歌) 仿JQuery中文社区注册

    大概样式: 

    仿做网站:http://bbs.jquery.org.cn/register.php

    源码:

    //=================HTML页面=================

    <body onload="InitCss();">
        <form>
        <div>
            <table>
                <tr>
                    <td>
                        密码:
                    </td>
                    <td>
                        <input id="txtPassword" type="password" style=" 130px;" maxlength="16" onfocus="InitCss();"
                            onblur="ValidateInput('password',this.value)"  onkeydown="validatePwdStrong(this.value);" />
                    </td>
                    <td>
                        <div id="tipPosition">
                        </div>
                    </td>
                </tr>
                <tr>
                    <td>
                    </td>
                    <td>
                        <table id="pwdStrong_color">
                            <tr>
                                <td id="pwdStrong_1">
                                </td>
                                <td id="pwdStrong_2">
                                </td>
                                <td id="pwdStrong_3">
                                </td>
                                <td id="pwdStrong_4">
                                </td>
                            </tr>
                        </table>
                    </td>
                    <td>
                        <div id="pwdStrong_text">
                        </div>
                    </td>
                </tr>
            </table>
        </div>
        </form>
    </body>
    

    //=================JS文件=================

     

    //使用$替换document.getElementById函数
    var $ = function(v) { return document.getElementById(v); }
    
    /******************************************************验证用户输入******************************************************/
    function ValidateInput(element, value) {
        //验证密码
        if (element == "password") {
            if (value.toString().length < 6) {
                $('tipPosition').className = 'error';
                $('tipPosition').innerHTML = "密码设置错误。密码长度过小。";
                return;
            }
            else {
                $('tipPosition').className = 'success';
                $('tipPosition').innerHTML = "填写正确。";
            }
        }
    }
    /*================================密码验证JS =========== Begin=======================================*/
    //密码初始化的样式
    function InitCss() {
        $('tipPosition').className = 'tip';
        $('tipPosition').innerHTML = "最小长度:6。 最大长度:16。";
    }
    
    /*================================密码强度 ===========Begin=======================================*/
    
    function Evaluate(word) {
        return word.replace(/^(?:([a-z])|([A-Z])|([0-9])|(.)){5,}|(.)+$/g, "$1$2$3$4$5").length;
    }
    
    function validatePwdStrong(value) {
        var pwd = {
            color: ['#E6EAED', '#AC0035', '#FFCC33', '#639BCC', '#246626'],
            text: ['太短', '弱', '一般', '很好', '极佳']
        };
        function colorInit() {
            $('pwdStrong_1').style.backgroundColor = pwd.color[0];
            $('pwdStrong_2').style.backgroundColor = pwd.color[0];
            $('pwdStrong_3').style.backgroundColor = pwd.color[0];
            $('pwdStrong_4').style.backgroundColor = pwd.color[0];
        }
        if (Evaluate(value) == 1) {
            colorInit();
            $('pwdStrong_1').style.backgroundColor = pwd.color[1];
            $('pwdStrong_text').innerHTML = pwd.text[1];
            $('pwdStrong_text').style.color = pwd.color[1];
        }
        else if (Evaluate(value) == 2) {
            colorInit();
            $('pwdStrong_1').style.backgroundColor = pwd.color[2];
            $('pwdStrong_2').style.backgroundColor = pwd.color[2];
            $('pwdStrong_text').innerHTML = pwd.text[2];
            $('pwdStrong_text').style.color = pwd.color[2];
        }
        else if (Evaluate(value) == 3) {
            colorInit();
            $('pwdStrong_1').style.backgroundColor = pwd.color[3];
            $('pwdStrong_2').style.backgroundColor = pwd.color[3];
            $('pwdStrong_3').style.backgroundColor = pwd.color[3];
            $('pwdStrong_text').innerHTML = pwd.text[3];
            $('pwdStrong_text').style.color = pwd.color[3];
        }
        else if (Evaluate(value) == 4) {
            $('pwdStrong_1').style.backgroundColor = pwd.color[4];
            $('pwdStrong_2').style.backgroundColor = pwd.color[4];
            $('pwdStrong_3').style.backgroundColor = pwd.color[4];
            $('pwdStrong_4').style.backgroundColor = pwd.color[4];
            $('pwdStrong_text').innerHTML = pwd.text[4];
            $('pwdStrong_text').style.color = pwd.color[4];
        }
    }
    




    //=================CSS文件=================

    body
    {
    	font: 13px 宋体;
    }
    /*密码验证提示CSS  --------------------------------开始--------------------------------*/
    #tipPosition
    {
    	 400px;
    	height: 16px;
    	line-height: 18px;
    	padding: 2px 30px;
    }
    .tip
    {
    	background: #E6F2FF url(images/register_tip.png) no-repeat 10px center;
    	border: 1px #0E5863 dashed;
    	color: #0E5863;
    }
    .error
    {
    	background: #FBECDF url(images/register_error.png) no-repeat 10px center;
    	border: 1px Red dashed;
    	color: #6D3737;
    }
    .success
    {
    	background: #D6FCD2 url(images/register_success.png) no-repeat 10px center;
    	border: 1px #2F5D36 dashed;
    	color: #3D934A;
    }
    /*密码强度CSS  --------------------------------开始--------------------------------*/
    #pwdStrong_color
    {
    	 136px;
    	height: 3px;
    	border: 0px;
    	border-collapse: collapse;
    	border-spacing: 0;
    	background: #E6EAED;
    	margin-top: 5px;
    }
    #pwdStrong_color td
    {
    	padding: 0px;
    	 44px; /*如不加td宽度,Google的Chrome不会正常显示*/
    }
    #pwdStrong_text
    {
    	font: 12px 宋体;
    }
    
  • 相关阅读:
    10年测试专家深度解读接口测试
    测试技术大牛谈成长经历:一个好的软件测试工程师应该做到这些!
    一位测试老鸟的工作经验分享
    又一名程序员倒下,网友:我们只是新时代农民工
    软件测试工程师这样面试,拿到offer的几率是80%
    App测试流程及测试点(个人整理版)
    自动化测试是什么?
    软件测试工程师的职业技能分析
    月薪15k的测试员需要学习什么技术?
    面向对象
  • 原文地址:https://www.cnblogs.com/tweet/p/1686052.html
Copyright © 2011-2022 走看看