MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

String.prototype.normalize()

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 未サポート 未サポート 未サポート 未サポート

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: YuichiNukiyama, shide55
 最終更新者: YuichiNukiyama,