2012-01-23 50 views
2

即時通訊嘗試查找是否有任何javascript來格式化顯示的字符串,因此對於考試「1234」 - 或任何字符串超過長度2-將成爲12 **我知道有一個替代方法,但不知道這將如何工作。歡迎任何建議。感謝很多如何格式化數據顯示在列

回答

2

假設你要屏蔽字符的同等數量可以複製*length - 2倍&追加1日原字符串的2個字符;

var str = "123456"; 

var numCharsToKeep = 2; 
if (str.length > numCharsToKeep) 
    str = str.substr(0, numCharsToKeep) + Array(str.length - numCharsToKeep + 1).join("*") 

== "12******" 
+0

謝謝!我會試試這個! – chloe

+0

快速問題我假設它的數組功能,將導致它複製「*」所需的時間量 – chloe

+0

是的; 'Array(str.length - numCharsToKeep + 1)'使用[string length - 2]空元素(我們在數組爲0的時候爲'+ 1')數組,然後將數組加入字符串作爲分隔符用「*」分隔所有空元素。 –