Valider les scripts d'écriture

Cet article a été traduit de l'anglais par IA et peut contenir des erreurs. Vos commentaires nous aideront à l'améliorer.

Dans certains cas, vous pouvez souhaiter collecter le nom d'une personne à la fois en caractères latins et en caractères arabes. Si vous avez un formulaire avec des champs de texte NAME_EN et NAME_AR, vous pouvez utiliser la formule de validation suivante pour vous assurer que seul l'anglais est saisi dans le premier champ :

REGEXMATCH(NAME_EN, "^[a-zA-Z ]+$") 

Et cette formule pour garantir que seuls les caractères arabes sont utilisés :

REGEXMATCH(NAME_AR, "^[\u0600-\u06FF ]+$")

Définir la règle de validation

Dans le concepteur de formules, donnez au champ de nom arabe le code NAME_AR, puis cochez « Définir les règles de validation ». Copiez la formule ci-dessus dans l'éditeur de règles de validation :

Capture d'écran de l'éditeur de champ
Capture d'écran de l'éditeur de champ

Blocs de code Unicode

Unicode est une norme pour la conversion des caractères et des symboles de la plupart des systèmes d'écriture du monde, couvrant 161 écritures modernes et historiques, ainsi que des symboles et des milliers d'émojis. Chaque caractère dans presque toutes les langues se voit attribuer un nombre compris entre 1 et 1 114 112. La lettre « A » est le numéro 65 et la lettre arabe Alef (ا) est le numéro 1 536.

Pour faire référence à un point de code Unicode dans une expression régulière, vous utilisez le format \u0000 où le point de code est écrit en notation hexadécimale, plutôt qu'en notation décimale. En hexadécimal, la lettre A est \u0041 et l'Aleph arabe est \u0627.

L'Unicode est organisé en « blocs » pour chaque script d'écriture. Le bloc de code arabe commence par 0600, la plage se situe donc entre \u0600 et \u06FF.

Valider d'autres scripts

Vous pouvez utiliser la même logique pour exiger d'autres scripts d'écriture, par exemple, le cyrillique, le grec ou le birman :

Script Expression régulière
Grec REGEXMATCH(NAME_GR, "^[\u0370-\u03FF ]+$")
Cyrillique REGEXMATCH(NAME_CY, "^[\u0400-\u04FF ]+$")
Birman REGEXMATCH(NAME_BU, "^[\u1000-\u109F ]+$")
Élément suivant
Ajouter un dossier