JSで@などの文字参照を含む文字列が元の文字に戻る問題
JavaScript で文字列を扱うとき、その文字列に @
などの記号の文字参照を含めることがあります。
@
の文字参照は @
です。
しかしながら文字列に @
を設定しても、@
が出力されるなどの問題が限定的に起こる場合があります。
問題を解決するには、出力する文字参照の文字列を、`&#` + `64;`
のように分割します。
この問題を Windows / Chrome 46.0.2490.80 m で確認しています。 私の場合は prompt によって文字列を出力するとき、この問題が起こりました。
Reference
「メールアドレスなどの一部を文字参照に変換するツール」を実装するにあたりこの問題に遭遇し、 解決をあきらめて既存の同じようなプログラムを検索とした際に、このページで解説した解決策を発見しました。
メールアドレスをエンコードするブックマークレット