Maison > interface Web > js tutoriel > Comment faire correspondre les caractères accentués dans les expressions régulières JavaScript ?

Comment faire correspondre les caractères accentués dans les expressions régulières JavaScript ?

Patricia Arquette
Libérer: 2024-11-08 01:54:01
original
197 Les gens l'ont consulté

How to Match Accented Characters in JavaScript Regular Expressions?

Correspondance des caractères accentués dans les expressions régulières JavaScript

Lors de la correspondance de chaînes contenant des caractères accentués (diacritiques), JavaScript présente des défis en raison de sa gestion Unicode. Voici des approches pour résoudre ce problème :

Liste explicite des caractères accentués

Cette méthode est lourde et peu flexible, car elle nécessite de répertorier manuellement tous les caractères accentués pris en charge :

var accentedCharacters = "àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ";
var regex = "^[a-zA-Z" + accentedCharacters + "]+,\s[a-zA-Z" + accentedCharacters + "]+$";
Copier après la connexion

Utilisation de la classe de caractères Dot

Cette approche correspond à presque tout, car la classe point (.) autorise n'importe quel caractère à l'exception des nouvelles lignes :

var regex = /^.+,\s.+$/;
Copier après la connexion

Plage Unicode

Cette méthode utilise une plage de caractères Unicode pour faire correspondre les caractères latins accentués :

/^[a-zA-Z\u00C0-\u017F]+,\s[a-zA-Z\u00C0-\u017F]+$/
Copier après la connexion

Comparaison et recommandation

La troisième approche utilisant la plage Unicode est recommandé, car il fait correspondre tous les caractères latins avec des accents pertinents pour le cas d'utilisation et évite les caractères inutiles ou les correspondances excessives.

Une solution plus simple pour les accents Unicode

Pour faire correspondre tous les Unicode accents, pensez à utiliser cette expression simplifiée :

[A-zÀ-ú] // accepts lowercase and uppercase characters
[A-zÀ-ÿ] // as above, including letters with an umlaut (includes [ ] ^ \ × ÷)
[A-Za-zÀ-ÿ] // as above but not including [ ] ^ \
[A-Za-zÀ-ÖØ-öø-ÿ] // as above, but not including [ ] ^ \ × ÷
Copier après la connexion

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