String.prototype.normalize()

Это экспериментальная технология, часть предложения Harmony (ECMAScript 6).
Поскольку спецификация этой технологии ещё не стабилизировалась, проверьте таблицу совместимости её использования в различных браузерах. Также обратите внимание, что синтаксис и поведение экспериментальной технологии могут быть изменены в будущих версиях браузеров в соответствии с изменениями в спецификации.

Сводка

Метод normalize() возвращает форму нормализации Юникода данной строки (если значение не является строкой, сначала оно будет в неё преобразовано).

Синтаксис

str.normalize([form])

Параметры

form
Одно из значений "NFC", "NFD", "NFKC" или "NFKD", определяющих форму нормализации Юникода. Если параметр опущен или равен undefined, будет использоваться значение "NFC".
  • NFC — форма нормализации C.
  • NFD — форма нормализации D — каноническая декомпозиция.
  • NFKC — форма нормализации KC.
  • NFKD — форма нормализации KD — совместимая декомпозиция.

Выбрасываемые исключения

RangeError
Если параметр form не является одним из вышеперечисленных значений, будет выброшено исключение RangeError.

Описание

Метод normalize() возвращает указанную форму нормализации Юникода строки. Он не изменяет значение самой строки.

Примеры

Пример: использование метода normalize()

// Первоначальная строка

// U+1E9B: Латинская строчная длинная буква «s» с точкой сверху
// U+0323: Комбинируемая подстрочная точка
var str = '\u1E9B\u0323';


// Форма нормализации C (NFC)

// U+1E9B: Латинская строчная длинная буква «s» с точкой сверху
// U+0323: Комбинируемая подстрочная точка
str.normalize('NFC'); // '\u1E9B\u0323'
str.normalize();      // то же самое


// Форма нормализации D - каноническая декомпозиция (NFD)

// U+017F: Латинская строчная длинная буква «s»
// U+0323: Комбинируемая подстрочная точка
// U+0307: Комбинируемая надстрочная точка
str.normalize('NFD'); // '\u017F\u0323\u0307'


// Форма нормализации KC (NFKC)

// U+1E69: Латинская строчная буква «s» с точкой снизу и точкой сверху
str.normalize('NFKC'); // '\u1E69'


// Форма нормализации KD - совместимая декомпозиция (NFKD)

// U+0073: Латинская строчная буква «s»
// U+0323: Комбинируемая подстрочная точка
// U+0307: Комбинируемая надстрочная точка
str.normalize('NFKD'); // '\u0073\u0323\u0307'

Спецификации

Спецификация Статус Комментарии
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'String.prototype.normalize' в этой спецификации.
Стандарт Изначальное определение.

Совместимость с браузерами

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка 34 31 (31) 11 на Windows 10 Preview (Да) Нет
Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка Нет 34 Нет
баг 864843
Нет Нет Нет

Смотрите также

Метки документа и участники

 Внесли вклад в эту страницу: Metotron, Mingun, dtretyakov
 Обновлялась последний раз: Metotron,