銀行卡號輸入框的實(shí)現(xiàn)(梁王的開發(fā)筆記)

需求是實(shí)現(xiàn)一個(gè)銀行卡號的輸入框,也就是每4個(gè)號用一個(gè)空格分開。

我vue里面的代碼是這樣的

        //add space and forbid char
        this.$watch('source.card.input', function (newValue, oldValue) {
            //avoid recursion
            if(newValue.replace(/\s/g, '') == oldValue.replace(/\s/g, '')) {
                return;
            }
            //filter char
            let temp = this.source.card.input;
            this.payinfo.cardNumber = temp.replace(/([^0-9]|\s)/g,'');
            this.source.card.input = this.payinfo.cardNumber.replace(/(\d{4})/g,'$1 ');
            console.log(this.source.card.input)
        });

相當(dāng)于用watch監(jiān)聽輸入變化,這里前面我加了個(gè)判斷,因?yàn)槲視詣影衙浚磦€(gè)數(shù)字替換成4個(gè)數(shù)字加一個(gè)空格。.replace(/(\d{4})/g,'$1 ');  如果不加這個(gè)判斷會導(dǎo)致無限遞歸。

后面就沒啥好說的了,就是個(gè)正則

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容