String.prototype.normalize()‎

من موسوعة حسوب

الدالة String.prototype.normalize()‎ تُعيد صيغة Unicode Normalization Form للسلسلة النصية المعطاة.

البنية العامة

str.normalize([form])

form

إحدى القيم "NFC" أو "NFD" أو "NFKC" أو "NFKD"، التي تُحدِّد صيغة Unicode Normalization Form، وإذا لم تُحدَّد أو كانت undefined فستُستخدَم القيمة "NFC":

  • NFC‏ — Normalization Form Canonical Composition.
  • NFD ‏— Normalization Form Canonical Decomposition.
  • NFKC ‏— Normalization Form Compatibility Composition.
  • NFKD ‏— Normalization Form Compatibility Decomposition.

القيمة المعادة

سلسلة نصية تحتوي على صيغة Unicode Normalization Form من السلسلة النصية المعطاة.

الاستثناءات

سيُرمى الاستثناء RangeError إذا لم تكن قيمة الوسيط form من بين القيم المذكورة أعلاه.

أمثلة

استخدام 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'

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي نعم نعم نعم نعم نعم

مصادر ومواصفات