JavaScriptで数値文字参照を利用する機会があったのでメモ。
はてなダイヤリーでもプロフィールのメールアドレスは文字参照を使っている。(きっとスパム対策だと思うけど)
「あいうえお」が
あいうえお
となるように「&#」と「;」の中に10進数の文字コードを入れる。作り方は、
var target = "HelloWorld"; var result = ""; for (var i = 0; i < target.length; i++) { result += "&#" + target .charCodeAt(i) + ";"; }
これで変数resultに「HelloWorld」から変換された参照文字が代入される。因みに、
alert( result );
で出力されるのは
HelloWorld
となり、JavaScriptの中で保持している間は文字にならない。ブラウザが表示するタイミングで文字に変換しているようで、
window.document.write( result );
とすると
HelloWorld
と表示される。
他に16進数のものもあるみたい。