随手一写,欢迎吐槽。
1 (function () { 2 var tel = "173 0212 9629"; 3 var bankCard = "3453 5343 5347 6575 091"; 4 var asterisksCard = function (account) { 5 //区分手机号和银行卡号条件:卡号首位是否为1 6 account = account.replace(/\s/g, ''); 7 var aLength = account.length; 8 if (account[0] === '1') { 9 //手机号码 10 return account.substr(0, 3) + "****" + account.substring(7, 11); 11 } else { 12 //银行卡号 13 var asterisks = ""; 14 var tail = aLength % 4; 15 var sLenght = 0; 16 var start = 0; 17 if (tail!=0) { 18 sLenght = aLength - 4 - tail; 19 start = aLength - tail; 20 } else { 21 sLenght = aLength - 8; 22 start = aLength - 4; 23 } 24 for (var i = 0; i < sLenght; i++) { 25 asterisks += '*'; 26 } 27 return account.substr(0, 4) + asterisks + account.substring(start, aLength); 28 } 29 }; 30 asterisksCard(tel); 31 asterisksCard(bankCard); 32 }());