Comment valider l'utilisation d'une balise de saisie de type HTML dans un formulaire html dont le contenu sera Arabe / Englsih / Number?

Comment valider l'utilisation d'une balise de saisie de type HTML dans un formulaire html dont le contenu sera l'un des suivants:

  • Personnages arabes ou anglais SEULEMENT -OU-
  • Caractères arabes et anglais SEULEMENT -OU-
  • Caractères arabes seulement -OU-
  • Personnages anglais seulement -OU-
  • Numéro seulement -OU-
  • Caractères arabes et nombre seulement -OU-
  • Personnages anglais et nombre seulement -OU-
  • Arabe ou nombre SEULEMENT -OU-
  • Caractères anglais ou numéro SEULEMENT -OU-
  • Arabe ou anglais Personnages ou nombre SEULEMENT -OU-
  • Numéro de téléphone -OU-
  • Email -OU-
  • Chaîne anglaise qui commence par un caractère spécifique comme 'A' -OU-
  • Chaîne anglaise qui se termine par un caractère spécifique comme 'A' -OU-
  • Chaîne anglaise qui contient un caractère spécifique comme 'A' -OU-
  • Chaîne anglaise qui ne contient pas de caractère spécifique comme 'A'

Merci d'avance ..

Tout d'abord, j'ai besoin d'une définition des caractères «anglais», «arabe» et «numéros».

  1. La définition de la limite de caractères anglais devrait au moins inclure az, AZ. Les caractères non-mots (virgule, point, parenthèses) devraient également être inclus, mais comme vous n'avez pas précisé le but de votre validation, je les limiterai à Az, AZ.
    Anglais RegExp: [a-zA-Z]
  2. Je ne suis pas qualifié dans la langue arabe, alors je saisis inclure tous les personnages définis à cette source .
    RegExp: /[\u0600-\u06ff\ufb50-\ufdff\ufe70-\ufeff]/
  3. Les nombres sont définis comme \d (dans JavaScript: 0-9 ).
    RegExp: \d (équivaut à [0-9] dans JavaScript)
  4. Le début et la fin d'une chaîne sont appariés par a ^ et $ , en utilisant des expressions régulières.

Réuni:

  • Caractères arabes et / ou anglais SEULEMENT -OU-
    /^[a-zA-Z\u0600-\u06ff\ufb50-\ufdff\ufe70-\ufeff]+$
  • Caractères arabes seulement -OU-
    /^[\u0600-\u06ff\ufb50-\ufdff\ufe70-\ufeff]+$/
  • Personnages anglais seulement -OU-
    /^[a-zA-Z]+$/
  • Numéro seulement -OU-
    /^\d+$/
  • Personnages arabes et / ou Numéro seulement -OU-
    /^[\du0600-\u06ff\ufb50-\ufdff\ufe70-\ufeff]+$
  • Caractères anglais et / ou nombre seulement -OU-
    /^[\dA-Za-z]+$/
  • Caractères arabes et / ou anglais et / ou numéro SEULEMENT -OU-
    /^[a-zA-Z\d\u0600-\u06ff\ufb50-\ufdff\ufe70-\ufeff]+$/
  • Numéro de téléphone -OU- Les numéros de téléphone sont trop dépendants de la région, construisez votre propre RE
  • Email -OU-
    ^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[AZ]{2,4}$ source 2 (courrier très simple RegExp)
  • Chaîne anglaise qui commence par un caractère spécifique comme 'A' -OU-
    /^A/
  • Chaîne anglaise qui se termine par un caractère spécifique comme 'A' -OU-
    /A$/
  • Chaîne anglaise qui contient un caractère spécifique comme 'A' -OU-
    /A/
  • Chaîne anglaise qui ne contient pas de caractère spécifique comme 'A'
    ^[^A]+$

Bien sûr, le jeu de caractères en anglais devrait inclure plus de caractères que a-zA-Z si vous validez des phrases. Je recommande d'utiliser [\x20-\x7e] au lieu de [a-zA-Z] , donc les caractères de ponctuation couramment utilisés sont également disponibles.


Références / Voir aussi

  • MDN: expressions régulières – Un guide pour utiliser Expressions régulières en JavaScript
  • Regulsr Expressions.info – Résumé des limites de caractères
  • UTF8-chartable.de – Navigateur à travers tous les personnages
  • Unicode.org/charts – Une référence officielle qui documente toutes les limites dans un détail plus approfondi