Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
String.prototype.normalize()
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2016.
La méthodenormalize() permet de renvoyer la forme normalisée Unicode d'une chaîne de caractères.
Dans cet article
Exemple interactif
const name1 = "\u0041\u006d\u00e9\u006c\u0069\u0065";const name2 = "\u0041\u006d\u0065\u0301\u006c\u0069\u0065";console.log(`${name1}, ${name2}`);// Expected output: "Amélie, Amélie"console.log(name1 === name2);// Expected output: falseconsole.log(name1.length === name2.length);// Expected output: falseconst name1NFC = name1.normalize("NFC");const name2NFC = name2.normalize("NFC");console.log(`${name1NFC}, ${name2NFC}`);// Expected output: "Amélie, Amélie"console.log(name1NFC === name2NFC);// Expected output: trueconsole.log(name1NFC.length === name2NFC.length);// Expected output: trueSyntaxe
str.normalize([form]);Paramètres
formParamètre optionnel. Une chaîne parmi "NFC", "NFD", "NFKC", ou "NFKD", définissant la forme de normalisation Unicode à utiliser. Si le paramètre n'est pas précisé ou vaut
undefined, la valeur par défaut utilisée sera "NFC".NFC- Normalization Form Canonical Composition.NFD- Normalization Form Canonical Decomposition.NFKC- Normalization Form Compatibility Composition.NFKD- Normalization Form Compatibility Decomposition.
Valeur de retour
Une chaîne de caractères qui est le forme Unicode normalisée de la chaîne appelante.
Exceptions
RangeErrorUne exception
RangeErrorest envoyée si le paramètreformn'est pas une des valeurs définies ci-avant.
Description
La méthodenormalize() renvoie la forme normalisée Unicode de la chaîne de caractères. Elle n'affecte pas la valeur de la chaîne.
Exemples
// Chaîne initiale// U+1E9B: LATIN SMALL LETTER LONG S WITH DOT ABOVE// U+0323: COMBINING DOT BELOWvar str = "\u1E9B\u0323";// Forme canonique composée (Canonically-composed form) (NFC)// U+1E9B: LATIN SMALL LETTER LONG S WITH DOT ABOVE// U+0323: COMBINING DOT BELOWstr.normalize("NFC"); // "\u1E9B\u0323"str.normalize(); // la même chaîne que précédemment// Forme canonique décomposée (Canonically-decomposed form) (NFD)// U+017F: LATIN SMALL LETTER LONG S// U+0323: COMBINING DOT BELOW// U+0307: COMBINING DOT ABOVEstr.normalize("NFD"); // "\u017F\u0323\u0307"// Forme composée compatible (NFKC)// U+1E69: LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVEstr.normalize("NFKC"); // "\u1E69"// Forme décomposée compatible (NFKD)// U+0073: LATIN SMALL LETTER S// U+0323: COMBINING DOT BELOW// U+0307: COMBINING DOT ABOVEstr.normalize("NFKD"); // "\u0073\u0323\u0307"Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-string.prototype.normalize> |