String.prototype.normalize()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.

El método normalize() retorna la Forma de Normalización Unicode de la cadena dada (si el valor no es una cadena, primero será convertido a ese tipo).

Sintaxis

str.normalize([form])

Parámetros

form

Uno de"NFC", "NFD", "NFKC", o "NFKD", especificando la Forma de Normalización Unicode. Si es omitida o undefined, se utiliza "NFC".

  • NFC — Forma de Normalización de Composición Canónica.
  • NFD — Forma de Normalización de Descomposición Canónica.
  • NFKC — Forma de Normalización de Composición de Compatibilidad.
  • NFKD — Forma de Normalización de Descomposición de Compatibilidad.

Valor de retorno

Una cadena que contiene la Forma de Normalización Unicode de la cadena dada.

Errores lanzados

RangeError

Un error RangeError es lanzado si form no es uno de los valores especificados arriba.

Descripción

El método normalize() retorna la Forma de Normalización Unicode de una cadena. No afecta el valor de la cadena en sí misma.

Ejemplos

Uso de normalize()

js
// Cadena inicial

// U+1E9B: LETRA S LATINA MINÚSCULA CON PUNTO ARRIBA
// U+0323: COMBINACIÓN CON PUNTO ABAJO
var str = "\u1E9B\u0323";

// Forma compuesta canónicamente (NFC)

// U+1E9B: LETRA S LATINA MINÚSCULA CON PUNTO ARRIBA
// U+0323: COMBINACIÓN CON PUNTO ABAJO
str.normalize("NFC"); // '\u1E9B\u0323'
str.normalize(); // lo mismo que arriba

// Forma canónicamente descompuesta (NFD)

// U+017F: LETRA S LATINA MINÚSCULA
// U+0323: COMBINACIÓN CON PUNTO ABAJO
// U+0307: COMBINACIÓN CON PUNTO ARRIBA
str.normalize("NFD"); // '\u017F\u0323\u0307'

// Compuesta con compatibilidad (NFKC)

// U+1E69: LETRA S LATINA MINÚSCULA CON PUNTO ARRIBA Y ABAJO
str.normalize("NFKC"); // '\u1E69'

// Descompuesta con compatibilidad (NFKD)

// U+0073: LETRA S LATINA MINÚSCULA
// U+0323: COMBINACIÓN CON PUNTO ABAJO
// U+0307: COMBINACIÓN CON PUNTO ARRIBA
str.normalize("NFKD"); // '\u0073\u0323\u0307'

Especificaciones

Specification
ECMAScript Language Specification
# sec-string.prototype.normalize

Compatibilidad con navegadores

BCD tables only load in the browser

Vea también