44

すべての数字を置き換える必要があります。

私の関数は最初の数字のみを置き換えます。

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

5 に答える 5

90

正規表現に「グローバル」フラグを追加する必要があります。

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

または、組み込みのリテラル regexp 構文を使用して、おそらくよりきれいにします。

.replace(/[0-9]/g, "X")
于 2012-07-04T11:40:29.370 に答える
14

使用する

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

すべてのオカレンスを置き換えます。はグローバル マッチgを意味するため、最初の一致後にマッチングが停止することはありません。

RegExpまたは、コンストラクターにとどまるには:

s.replace(new RegExp("\\d", "g"), "X")
于 2012-07-04T11:40:24.703 に答える
6

数字を見つけて、指定された文字列に置き換えます。それは2つの方法で達成されます

  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

于 2016-05-01T19:09:52.010 に答える
4

修飾子は、グローバル マッチを実行するために使用されます( /g 最初のマッチ後に停止するのではなく、すべてのマッチを検索します)。

\d よりも短いので、桁に 使用できます[0-9]

JavaScript:

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

出力:

XX.XX.XXXX
于 2012-07-04T11:47:39.127 に答える