JavaScriptでいくつかのコードを置き換えようとしています。どういうわけか、これは機能しません。
var name = "check & ' \"";
alert(name);
alert(name.replace(/["]/g, "\""));
alert(name.replace(/[\]/g, "\"));
私は何が間違っているのですか?
JavaScriptでいくつかのコードを置き換えようとしています。どういうわけか、これは機能しません。
var name = "check & ' \"";
alert(name);
alert(name.replace(/["]/g, "\""));
alert(name.replace(/[\]/g, "\"));
私は何が間違っているのですか?
正規表現を使用せず、解析するだけです。
var d = document.createElement('div');
d.innerHTML = "check & ' \"";
console.log(d.innerText);//all done
要素を作成し(メモリ内では表示されません)、innerText
プロパティを使用すると、同等のテキストが返されます(つまり、すべてのhtmlエンティティがそれぞれの文字に変換されます)。
補足として:文字クラス/グループを作成しているため、機能しない理由/["]/g
は次のとおりです。文字列全体ではなく、グループの任意の1文字に一致します。
d.innerHTML.replace(/["]/g,'@');//"check @amp@ ' \""
d.innerHTML.replace(/(")/g,'@');//"check & ' \""
正規表現では、 []
「次の文字のいずれか」を意味します。したがって、、、、、、、またはに一致/[\]/g
し&
ます。#
9
2
;
なしで試してください[]
。
var name = "check & ' \"";
alert(name);
alert(name.replace(/"/g, "\""));
alert(name.replace(/\/g, "\""));