Maison > interface Web > js tutoriel > Comment puis-je supprimer les accents et les signes diacritiques des chaînes en JavaScript ?

Comment puis-je supprimer les accents et les signes diacritiques des chaînes en JavaScript ?

Mary-Kate Olsen
Libérer: 2024-12-25 19:43:09
original
974 Les gens l'ont consulté

How Can I Remove Accents and Diacritics from Strings in JavaScript?

Supprimer les accents et les signes diacritiques des chaînes en JavaScript

La suppression des caractères accentués des chaînes est essentielle pour des tâches telles que les opérations de tri et de recherche. Il existe différentes approches pour y parvenir en JavaScript.

Utilisation d'expressions régulières

Une méthode courante consiste à utiliser des expressions régulières pour remplacer les caractères accentués par leurs équivalents non accentués. Cependant, dans les navigateurs plus anciens comme IE6, les expressions régulières peuvent rencontrer des problèmes.

Exploiter String.prototype.normalize()

ES2015 a introduit String.prototype.normalize() méthode, qui permet la normalisation des chaînes Unicode. En normalisant sous la forme "NFD", vous pouvez décomposer les graphèmes combinés en graphèmes plus simples. Cela vous permet de supprimer facilement les signes diacritiques en filtrant des caractères Unicode spécifiques.

const str = "Crème Brûlée";
str.normalize("NFD").replace(/[\u0300-\u036f]/g, ""); // "Creme Brulee"
Copier après la connexion

Vous pouvez également utiliser les échappements de propriétés Unicode :

str.normalize("NFD").replace(/\p{Diacritic}/gu, "");
Copier après la connexion

Tri des chaînes avec accents et signes diacritiques

À des fins de tri, vous pouvez utiliser l'objet Intl.Collator pour gérer l'accent et normalisation diacritique.

const c = new Intl.Collator();
[...names].sort(c.compare); // Sorts names without considering accents or diacritics
Copier après la connexion

De plus, vous pouvez utiliser String.prototype.localeCompare(), qui prend en compte les accents et les signes diacritiques par défaut.

[...names].sort((a, b) => a.localeCompare(b));
Copier après la connexion

En résumé, en utilisant String.prototype. normalize() ou Intl.Collator fournit une approche robuste pour supprimer les accents et les signes diacritiques des chaînes ou trier les chaînes sans être affecté par l'accent. variantes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal