私は絶望的です - 私は自分が何を間違っているのか分かりません。「8969」をすべて置き換えようとしましたが、常に元の文字列を取得します (tmp が文字列か整数かに関係なく)。もう手遅れかもしれないし、私は盲目なのかもしれない...
var tmp = "8969";
alert("8969_8969".replace(/tmp/g, "99"));
誰かが私を助けることができますか?
私は絶望的です - 私は自分が何を間違っているのか分かりません。「8969」をすべて置き換えようとしましたが、常に元の文字列を取得します (tmp が文字列か整数かに関係なく)。もう手遅れかもしれないし、私は盲目なのかもしれない...
var tmp = "8969";
alert("8969_8969".replace(/tmp/g, "99"));
誰かが私を助けることができますか?
この/
場合、文字は正規表現のコンテナです。したがって、「tmp」は変数としてではなく、リテラル文字列として使用されます。
var tmp = /8969/g;
alert("8969_8969".replace(tmp, "99"));
alert("8969_8969".replace(/8969/g, "99"));
また
var tmp = "8969"
alert("8969_8969".replace(new RegExp(tmp,"g"), "99"));
正規表現を動的に処理する方法:
var nRegExp = new RegExp("8969", 'g');
alert("8969_8969".replace(nRegExp, "99"));
/tmp/g
. これは、フレーズを検索する正規表現"tmp"
です。new RegExp
動的正規表現を作成するために使用する必要があります。
alert("8969_8969".replace(new RegExp(tmp,'g'), "99"));
Javascript は tmp の使用をサポートしていません。正規表現パターンとして文字通り「tmp」を使用しようとします。
"8969_8969".replace(new RegExp(tmp,'g'), "99")