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
Patricia Arquetteoriginal
2024-11-08 01:54:01234parcourir

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 + "]+$";

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.+$/;

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]+$/

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 [ ] ^ \ × ÷

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!

Déclaration:
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