輸入銀行卡號,每隔4位數字加一個空格(小細節)
阿新 • • 發佈:2019-02-15
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 是除了空字元 那上面的程式碼就海闊天空了。