2008-11-06 カテゴリ: Client Side タグ: JavaScript 安易な発想 Unicode JavaScriptの文字列型はUTF-16を採用しているから、サロゲートペアを使用した文字が混ざるといろいろと厄介だったりする。一例としては↓のような感じ。 var s = "𪚲"; // U+2A6B2 console.log(s.length); // 2 console.log(s.split("")); // ["�", "�"] ということで、サロゲートペアの扱いを少し楽にする関数を書いてみたからとりあえず公開してみる。 /** 文字列中にサロゲートペアを含む場合はtrue */ String.prototype.hasSurrogate = function() { return (/[\uD800-\uDBFF][\uDC00-\uDFFF]/).test(