Maison >développement back-end >C++ >Comment créer une expression régulière fiable pour valider uniquement les caractères persans ?

Comment créer une expression régulière fiable pour valider uniquement les caractères persans ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-03 21:09:43665parcourir

How to Create a Reliable Regex for Validating Persian Characters Only?

Regex pour accepter uniquement les caractères persans

Dans un scénario où les validateurs de formulaires personnalisés nécessitent uniquement des caractères persans, le code suivant semblait initialement prometteur :

var myregex = new Regex(@"^[\u0600-\u06FF]+$");
if (myregex.IsMatch(mytextBox.Text))
{
    args.IsValid = true;
}
else
{
    args.IsValid = false;
}

Cependant, il n'a pas réussi à détecter des caractères persans spécifiques (گ, چ, پ, ژ). Cet article examine le problème et propose une solution.

hypothèses erronées

[u0600-u06FF] et [آ-ی] sont des plages de caractères incorrectes pour le persan. validation.

  • [u0600-u06FF] comprend 209 caractères inutiles, y compris les chiffres arabes.
  • [آ-ی] en englobe 117 caractères supplémentaires.

Caractère précis Plages

Pour garantir l'exactitude, les plages suivantes doivent être utilisé :

  • Lettres :

    • ^[آابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهی] $
    • ^[u0622u0627u0628u067Eu062A-u062Cu0686u062D-u0632u0698u0633-u063Au0641u0642u06A9u06AFu0644-u0648u06CC] $
  • Nombres :

    • ^[۰۱۲۳۴۵۶۷۸۹] $
    • ^[u06F0-u06F9] $
  • Voyelles :

    • [ ٌ ًّ َ ِ ُ ْ ]
    • [u202Cu064Bu064Cu064E-u0652]

Conclusion

En utilisant les plages de caractères correctes, il est possible de rejeter les caractères persans invalides. De plus, le farsi prend en charge les signes diacritiques utilisés en arabe, mais leur inclusion est facultative lors de la validation.

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