Maison >développement back-end >C++ >Comment valider avec précision les caractères persans à l'aide d'expressions régulières ?

Comment valider avec précision les caractères persans à l'aide d'expressions régulières ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-03 01:24:39506parcourir

How to Accurately Validate Persian Characters Using Regular Expressions?

Validation des caractères persans à l'aide d'expressions régulières

Dans le contexte de la validation de formulaire, s'assurer que seuls les caractères persans sont acceptés peut être un défi. Pour résoudre ce problème, une approche courante consiste à utiliser des expressions régulières (regex).

Cependant, l'expression régulière ^[u0600-u06FF] $ est souvent insuffisante, car elle englobe également des caractères arabes. Pour valider avec précision les caractères persans, une expression régulière modifiée est nécessaire.

Regex mise à jour

Pour accepter avec précision les caractères persans, considérez l'expression régulière mise à jour :

^[\u0622\u0627\u0628\u067E\u062A-\u062C\u0686\u062D-\u063A\u0641\u0642\u06A9\u06AF\u0644-\u0648\u06CC]+$

Cette expression correspond aux plages de caractères suivantes :

  • Lettres : [آابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهی]
  • Nombres : [۰۱۲۳۴۵۶۷۸۹]
  • Voyelles : [ ٌ ًّ َ ِ ُ ْ ]

Alternativement, l'expression régulière peut être simplifiée en fonction de votre saveur d'expression régulière et inclure toutes les lettres à la fois, par exemple :

^[آ-ی]+$

Pourquoi l'expression régulière étendue est incorrecte

L'expression régulière précédemment utilisée ^[u0600-u06FF] $ est inadéquat car il comprend :

  • 209 caractères supplémentaires au-delà du jeu de 42 caractères requis pour les caractères persans
  • Des chiffres arabes au lieu de leurs homologues persans distincts

Considérations supplémentaires

Pour une information complète validation, pensez à inclure des caractères supplémentaires tels que Hamza (ء) dans le jeu de caractères. De plus, adaptez-vous à différents systèmes numériques en utilisant des expressions rationnelles distinctes pour les nombres si nécessaire.

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