正規表現を使って漢字を表す方法を毎回、忘れてしまい、その都度、調べています。 調べた結果をまとめてみました。今回はJavaScriptの場合です。 正しくない方法 JavaScriptの正規表現はUnicode(UTF16)で判定される。 最近のJavaScriptではエンコードに関わらずUnicodeが使われるらしい。 「charset=shift_jis」としてもUnicodeで判定される。 charCodeAtで表示されるコードはUnicodeによるものである。 ネットで調べると正規表現で漢字を「亜-熙」と指定する方法が紹介されている。 「亜」U+4E9C 「熙」U+7199 これはシフトJISによる順序なので、JavaScriptでは使えない。 例えば、次のようにJavaScriptで「一」を調べるとマッチしない。 「一」U+4E00 であるので、「一」<「亜」<熙」となってしまう