JavaScriptで数値文字参照

JavaScriptで数値文字参照を利用する機会があったのでメモ。
はてなダイヤリーでもプロフィールのメールアドレスは文字参照を使っている。(きっとスパム対策だと思うけど)

「あいうえお」が

あいうえお

となるように「&#」と「;」の中に10進数の文字コードを入れる。作り方は、

var target = "HelloWorld";
var result = "";
for (var i = 0; i < target.length; i++) {
result += "&#" + target .charCodeAt(i) + ";";
}

これで変数resultに「HelloWorld」から変換された参照文字が代入される。因みに、

alert( result );

で出力されるのは

&#72;&#101;&#108;&#108;&#111;&#87;&#111;&#114;&#108;&#100;

となり、JavaScriptの中で保持している間は文字にならない。ブラウザが表示するタイミングで文字に変換しているようで、

window.document.write( result );

とすると

HelloWorld

と表示される。
他に16進数のものもあるみたい。

コメントする

メールアドレスが公開されることはありません。