2012-07-04 11 views

回答

49

您需要的「全局」標誌添加到您的正則表達式:

s.replace(new RegExp("[0-9]", "g"), "X") 

或者,也許更漂亮,使用內置的文字正則表達式語法:

.replace(/[0-9]/g, "X") 
+1

我會如何用unicode字符而不是'X'替換它們?比如'\ U2022'? – Cmag

+1

回答:'replace(/ [0-9]/g,'\ u2022');' – Cmag

7

使用

s.replace(/\d/g, "X") 

將取代所有出現。 g表示全局匹配,因此不會在第一次出現後停止匹配。

還是要留在你的RegExp構造:

s.replace(new RegExp("\\d", "g"), "X") 
2

/g修飾符是用來執行全局匹配(查找所有的比賽,而不是第一後停止)

您可以使用\d的數字,因爲它是短於[0-9]

的JavaScript:

var s = "04.07.2012"; 
echo(s.replace(/\d/g, "X")); 

輸出:

XX.XX.XXXX 
2

找到號碼,然後用其指定的字符串替換。

<script type="text/javascript"> 

var string = "my contact number is 9545554545. my age is 27."; 
alert(string.replace(/\d+/g, "XXX")); 

</script> 

*:它是由兩種方法

  1. 使用正則表達式字面

  2. 使用關鍵字RegExp對象

使用正則表達式字面實現*輸出:**我的聯繫號碼是X. XX。我的年齡是XXX。

瞭解更多詳情:

http://www.infinetsoft.com/Post/How-to-replace-number-with-string-in-JavaScript/1156