Maitriser le patterns HTML5
Rappels sur la syntaxe des expressions régulières HTML5
- séquence : pattern1 pattern2
- classe de caractères :
- [0-9] : numérique
- [a-z] : lettre minuscule
- [A-Z] : lettre majuscule
- [a-zA-Z] : alphabétique
- [a-zA-Z0-9] : alphanumérique
- [A-G] : lettres majuscules de A Ă G
- [a-zéèa] : lettre minuscule plus les lettres acentuées
- [xyz] : un carctère parmis les trois proposés
- . : le point représente un caractère quelconque
- quantificateurs :
- pattern? : pattern optionnel (0 ou une occurence)
- pattern* : pattern qui se répète 0,1 ou plusieurs fois
- pattern+ : pattern qui se répète 1 ou plusieurs fois
- pattern{n} : pattern qui se répète n fois
- pattern{n,m} : pattern qui se répète entre n et m fois
- pattern{n,} : pattern qui se répète au moins n fois
- alternative : (pattern1|pattern2)
- le caractère d'échappement\ permet d'interpréter un carctère spécial qui le suit (- [ ] { } + * ? \ .) comme un caractère normal sachant qu'au sein d'une classe les caractères spéciaux, exepté "-", ne sont pas interprétés
Execice
Trouver et testez les pattern suivants :
- Un nombre entier binaire (composé exclusivement de 0 et 1)
- Un nombre binaire décimal pouvant contenir une virgule ou un point (pour les nombres inférieus à 1, le zéro avant la virgule n'étant pas obligatoire)
- Une couleur en hexadécimal avec lettres majuscules (#F0AB57, #FAB)
- Une couleur en hexadécimal avec toutes les lettres en majuscules ou toutes les lettres en minuscule.
- Une suite de chiffre croissante (13689)
- Une suite de nombres séparées par des barres verticales (125, 123|45|67)
- Un nombre pair sans zéro non significatifs
- Un numéro de téléphone national avec ou sans espace entre les paires de chiffres (0388552233 ou 03 88 55 22 33)
- Un numéro de téléphone national avec - ou espace comme séparateur des paires de chiffres (03-88-55-22-33 ou 03 88 55 22 33)
- Un numéro de téléphone au format international (+33 3 88 55 22 33 ou 00 33 3 88 55 22 33) l'indicatif du pays comprenant 2 ou 3 chiffres et ne commençant pas par 0
- Un numéro de téléphone au format international (+33 3 88 55 22 33 ou 00 33 3 88 55 22 33 ou +33-3-88-55-22-33 ou 00-33-3-88-55-22-33) avec un espace ou un tiret séparateur