JavaScript 文字列を正規化する
str.normalize([form])
正規化(Unicode 正規化形式)された文字が返される。IEは対応していない。
住所の入力欄で「数値は全角文字で入力してください」みたいなものの特効薬になりそう
code: normalize.js
"12345".normalize("NFKC"); // "12345"
"ABC".normalize("NFKC"); // "ABC"
"アイウエオ".normalize("NFKC"); // "アイウエオ"
"㍻".normalize("NFKC"); // "平成"
引数[form]は4種類
NFC
NFD
NFKC
NFKD
正規化形式 D (Normalization Form D, 略して NFD)
正規化形式 C (Normalization Form C, 略して NFC)
正規化形式 KD (Normalization Form KD, 略して NFKD)
正規化形式 KC (Normalization Form KC, 略して NFKC)
覚えかた:D = Decomposition (分解)、C = Composition (合成)、K = Compatibility (互換性;合成の C と区別するため、K になっている)。
参考