佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > html5仿支付寶密碼框的實(shí)現(xiàn)代碼

html5仿支付寶密碼框的實(shí)現(xiàn)代碼

熱門標(biāo)簽:蘋果 Mysql連接數(shù)設(shè)置 百度AI接口 解決方案 企業(yè)認(rèn)證 百度競價(jià)排名 國美全國運(yùn)營中心 Win10系統(tǒng)

廢話不多說了,直接給大家貼代碼了,具體代碼所示:

<!DOCTYPE html>  
<html lang="en">  
    <head>  
        <meta charset="UTF-8">  
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />  
        <title>仿支付寶密碼框-移動端測</title>  
        <style type="text/css">  
            *{  
                margin: 0;  
                padding: 0;  
            }  
            body {  
                padding: 50px;  
            }  
            .clearfix:after {  
                clear: both;  
            }  
            .clearfix:before,  
            .clearfix:after {  
                content: " ";  
                display: table;  
            }  
            .alieditContainer {  
                position: relative;  
            }  
            .sixDigitPassword {  
                position: absolute;  
                left: -222px;  
                top: 0;  
                width: 1000px;  
                height: 26px;  
                color: #fff;  
                font-size: 12px;  
                -webkit-box-sizing: content-box;  
                box-sizing: content-box;  
                -webkit-user-select: initial;  
                outline: 'none';  
                z-index: 999;  
                opacity: 0;  
                filter: alpha(opacity=0);  
            }  
            .sixDigitPassword-box {  
                cursor: text;  
                background: #fff;  
                outline: none;  
                position: relative;  
                padding: 8px 0;  
                height: 15px;  
                border: 1px solid #cccccc;  
                border-radius: 2px;  
            }  
            .sixDigitPassword-box i {  
                float: left;  
                display: block;  
                padding: 4px 0;  
                height: 7px;  
                border-left: 1px solid #cccccc;  
            }  
            .sixDigitPassword-box .active {  
                background: url('password-blink.gif') no-repeat center center;  
            }  
            .sixDigitPassword-box b {  
                display: block;  
                margin: 0 auto;  
                width: 7px;  
                height: 7px;  
                overflow: hidden;  
                visibility: hidden;  
                background: url('passeord-dot.png') no-repeat;  
            }  
            .sixDigitPassword-box span {  
                position: absolute;  
                display: block;  
                left: 0px;  
                top: 0px;  
                height: 30px;  
                border: 1px solid rgba(82, 168, 236, .8);  
                border: 1px solid #00ffff\9;  
                border-radius: 2px;  
                visibility: hidden;  
                -webkit-box-shadow: inset 0px 2px 2px rgba(0, 0, 0, 0.75), 0 0 8px rgba(82, 168, 236, 0.6);  
                box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);  
            }  
            .ui-securitycore .ui-form-item .ui-form-explain {  
                margin-top: 8px;  
            }  
            .i-block {  
                display: inline-block;  
            }  
            .six-password {  
                position: relative;  
                height: 33px;  
                width: 182px;  
                overflow: hidden;  
                vertical-align: middle;  
            }  
        }  
        </style>  
    </head>  
    <body>  
        <form action="" method="post" name="payPassword" id="form_paypsw">  
            <div id="payPassword_container" class="alieditContainer clearfix" data-busy="0">  
                <label for="i_payPassword" class="i-block">支付密碼:</label><br />  
                <div class="i-block" data-error="i_error">  
                    <div class="i-block six-password">  
                        <input class="i-text sixDigitPassword" id="payPassword_rsainput" type="tel" autocomplete="off" required="required" value="" name="payPassword_rsainput" data-role="sixDigitPassword" tabindex="" maxlength="6" minlength="6" aria-required="true">  
                        <div tabindex="0" class="sixDigitPassword-box" style="width: 180px;">  
                            <i style="width: 29px; border-color: transparent;" class=""><b style="visibility: hidden;"></b></i>  
                            <i style="width: 29px;"><b style="visibility: hidden;"></b></i>  
                            <i style="width: 29px;"><b style="visibility: hidden;"></b></i>  
                            <i style="width: 29px;"><b style="visibility: hidden;"></b></i>  
                            <i style="width: 29px;"><b style="visibility: hidden;"></b></i>  
                            <i style="width: 29px;"><b style="visibility: hidden;"></b></i>  
                            <span style="width: 29px; left: 0px; visibility: hidden;" id="cardwrap" data-role="cardwrap"></span>  
                        </div>  
                    </div>  
                </div>  
            </div>  
        </form>  
        <button class="passBtn" style="margin-top:20px;">確認(rèn)</button>  
        <script src="../js/jquery-2.1.0.js" type="text/javascript" charset="utf-8"></script>  
        <script src="jquery-validate.js" type="text/javascript"></script>  
        <script type="text/javascript">  
            var _formPay = $('#form_paypsw');  
            _formPay.validate({  
                rules: {  
                    'payPassword_rsainput': {  
                        'minlength': 6,  
                        'maxlength': 6,  
                        required: true,  
                        digits: true  
                    }  
                }  
            });  
            var payPassword = $("#payPassword_container"),  
                _this = payPassword.find('i'),  
                k = 0,  
                j = 0,  
                password = '',  
                _cardwrap = $('#cardwrap');  
            //點(diǎn)擊隱藏的input密碼框,在6個(gè)顯示的密碼框的第一個(gè)框顯示光標(biāo)  
            payPassword.on('focus', "input[name='payPassword_rsainput']", function() {  
                var _this = payPassword.find('i');  
                if(payPassword.attr('data-busy') === '0') {  
                    //在第一個(gè)密碼框中添加光標(biāo)樣式  
                    _this.eq(k).addClass("active");  
                    _cardwrap.css('visibility', 'visible');  
                    payPassword.attr('data-busy', '1');  
                }  
            });  
            //change時(shí)去除輸入框的高亮,用戶再次輸入密碼時(shí)需再次點(diǎn)擊  
            payPassword.on('change', "input[name='payPassword_rsainput']", function() {  
                _cardwrap.css('visibility', 'hidden');  
                _this.eq(k).removeClass("active");  
                payPassword.attr('data-busy', '0');  
            }).on('blur', "input[name='payPassword_rsainput']", function() {  
                _cardwrap.css('visibility', 'hidden');  
                _this.eq(k).removeClass("active");  
                payPassword.attr('data-busy', '0');  
            });  
            //使用keyup事件,綁定鍵盤上的數(shù)字按鍵和backspace按鍵  
            payPassword.on('keyup', "input[name='payPassword_rsainput']", function(e) {  
                var e = (e) ? e : window.event;  
                //鍵盤上的數(shù)字鍵按下才可以輸入  
                if(e.keyCode == 8 || (e.keyCode >= 48 && e.keyCode <= 57) || (e.keyCode >= 96 && e.keyCode <= 105)) {  
                    k = this.value.length; //輸入框里面的密碼長度  
                    l = _this.size(); //6  
                    for(; l--;) {  
                        //輸入到第幾個(gè)密碼框,第幾個(gè)密碼框就顯示高亮和光標(biāo)(在輸入框內(nèi)有2個(gè)數(shù)字密碼,第三個(gè)密碼框要顯示高亮和光標(biāo),之前的顯示黑點(diǎn)后面的顯示空白,輸入和刪除都一樣)  
                        if(l === k) {  
                            _this.eq(l).addClass("active");  
                            _this.eq(l).find('b').css('visibility', 'hidden');  
                        } else {  
                            _this.eq(l).removeClass("active");  
                            _this.eq(l).find('b').css('visibility', l < k ? 'visible' : 'hidden');  
                        }  
                        if(k === 6) {  
                            j = 5;  
                        } else {  
                            j = k;  
                        }  
                        $('#cardwrap').css('left', j * 30 + 'px');  
                    }  
                } else {  
                    //輸入其他字符,直接清空  
                    var _val = this.value;  
                    this.value = _val.replace(/\D/g, '');  
                }  
            });  
            //獲取密碼  
            $('.passBtn').on('click', function() {  
                var reg = new RegExp("^[0-9]*$");//驗(yàn)證數(shù)字  
                var pass = $('#payPassword_rsainput').val();  
                /*PC端測試:主鍵盤的數(shù)字對應(yīng)的字符對應(yīng)的keyCode相同,所以也可顯示到框中。但是input中value沒有數(shù)字,判斷一下非空即可。  
                 *移動端測試: *和#都可輸入,需正則驗(yàn)證一下非法字符  
                 * */  
                if(!pass){  
                    alert('密碼為空,請輸入密碼');  
                }else if(pass.length < 6){  
                    alert('密碼長度為6位');  
                }else if(!reg.test(pass)){  
                    alert("密碼含有非法字符,請重新輸入");  
                }else{  
                    alert(pass);  
                }  
            });  
        </script>  
    </body>  
</html> 

需要的資源:

1、jquery-2.1.0.js----版本不限

2、jquery-validate.js----插件

插件代碼下載地址:http://xiazai.jb51.net/201709/yuanma/chajian_jb51.rar

效果圖:


 

總結(jié)

以上所述是小編給大家介紹的html5仿支付寶密碼框的實(shí)現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

標(biāo)簽:白城 黑龍江 梅州 黑龍江 運(yùn)城 巴中 平頂山 益陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《html5仿支付寶密碼框的實(shí)現(xiàn)代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    枣阳市| 峡江县| 尼勒克县| 菏泽市| 文登市| 浠水县| 东明县| 南阳市| 靖江市| 青川县| 灵璧县| 宜兰县| 万载县| 房产| 延津县| 湟中县| 太湖县| 武清区| 长泰县| 封开县| 万宁市| 门源| 江川县| 博乐市| 陵川县| 扶余县| 吕梁市| 泰兴市| 灵璧县| 宜兰县| 澄江县| 武穴市| 瓦房店市| 农安县| 冷水江市| 安达市| 绥宁县| 田阳县| 合阳县| 安国市| 仙居县|