normalize()
メソッドは、引数で与えられた文字列(その値が文字列でない場合、最初の文字列に変換されます)の Unicode 正規化形式を返します。
構文
str.normalize([form])
引数
form
- Unicode 正規化形式を示す
"NFC"
、"NFD"
、"NFKC"
、"NFKD"
のうちの一つ。省略されたり、undefined
なら、"NFC"
が使用されます。NFC
— 正規化形式 C。NFD
— 正規化形式 D。NFKC
— 正規化形式 KC。NFKD
— 正規化形式 KD。
戻り値
与えられた文字列の Unicode 正規化形式を含む文字列。
エラーのスロー
RangeError
form
が上記で指定した値の一つでない場合、RangeError
がスローされます。
説明
normalize()
メソッドは文字列の指定した形式で正規化した Unicode 文字列を返します。文字列自体の値には影響を与えません。
例
例: normalize()
を使う
// Initial string // U+1E9B: LATIN SMALL LETTER LONG S WITH DOT ABOVE // U+0323: COMBINING DOT BELOW var str = '\u1E9B\u0323'; // Canonically-composed form (NFC) // U+1E9B: LATIN SMALL LETTER LONG S WITH DOT ABOVE // U+0323: COMBINING DOT BELOW str.normalize('NFC'); // '\u1E9B\u0323' str.normalize(); // same as above // Canonically-decomposed form (NFD) // U+017F: LATIN SMALL LETTER LONG S // U+0323: COMBINING DOT BELOW // U+0307: COMBINING DOT ABOVE str.normalize('NFD'); // '\u017F\u0323\u0307' // Compatibly-composed (NFKC) // U+1E69: LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE str.normalize('NFKC'); // '\u1E69' // Compatibly-decomposed (NFKD) // U+0073: LATIN SMALL LETTER S // U+0323: COMBINING DOT BELOW // U+0307: COMBINING DOT ABOVE str.normalize('NFKD'); // '\u0073\u0323\u0307'
仕様
仕様 | ステータス | コメント |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) String.prototype.normalize の定義 |
標準 | 初期定義。 |
ECMAScript 2017 Draft (ECMA-262) String.prototype.normalize の定義 |
ドラフト |
ブラウザ実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Edge | Opera | Safari |
---|---|---|---|---|---|---|
基本サポート | 34 | 31 (31) | 未サポート | (有) | (有) | 未サポート |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本サポート | 未サポート | 34 | 未サポート | 未サポート | 未サポート | 未サポート |