簡體   English   中英

JS正則表達式:替換字符串中的所有數字

[英]JS regex: replace all digits in string

我需要替換所有數字。

我的功能只替換第一個數字。

var s = "04.07.2012";
alert(s.replace(new RegExp("[0-9]"), "X")); // returns "X4.07.2012"
                                            // should be XX.XX.XXXX"

您需要在正則表達式中添加“全局”標志:

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

或者,可能更漂亮,使用內置的文字regexp語法:

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

使用

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

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

或者繼續使用RegExp構造函數:

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

/g 改性劑被用於執行全局匹配(查找所有的比賽,而不是第一后停止)

您可以使用 \\d 表示數字,因為它短於 [0-9]

JavaScript的:

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

輸出:

XX.XX.XXXX

找到數字,然后用指定的字符串替換。 它通過兩種方法實現

  1. 使用正則表達式文字

  2. 使用關鍵字RegExp對象

使用正則表達式文字:

<script type="text/javascript">

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

</script>

**輸出:**我的聯系電話是XXX。 我的年齡是XXX。

更多細節:

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

您忘記添加全局運算符。 用這個:

 var s = "04.07.2012"; alert(s.replace(new RegExp("[0-9]","g"), "X")); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM