1. 程式人生 > >輸入銀行卡號,每隔4位數字加一個空格(小細節)

輸入銀行卡號,每隔4位數字加一個空格(小細節)

document.getElementById('bankCardInp').onkeyup = function (event) {
    var v = this.value;
    console.log(/\S{5}/.test(v));
    console.log(v);
    if(/\S{5}/.test(v)){
        this.value = v.replace(/\s/g, '').replace(/(.{4})/g, '$1 ');
    }
};

小編前段時間自己做了個小專案,用到正則,剛好百度了一下,詫異的發現輸入銀行卡號每隔4位數字加一個空格 居然全部都是清一色的一坨程式碼,上面大家估計都能理解,當然我整體也能理解:  問題來了  

if(/\S{5}/.test(v)){正確執行} 
不知道大家有沒注意到,反正我是困惑到了一開始, /\S{5}/.test(v) 要為 true 才執行,剛開始以為必須5個空字元以上才執行,
尤為不解,但是認真看了下, \S 居然是大寫,我大約知道原因了,我相信大家像我一樣一般常用都用 \d \w \s 這些小寫的
\D \W \S 大寫我還真沒用過或許我的能力原因吧, \S 是除了空字元   那上面的程式碼就海闊天空了。