web-dev-qa-db-fra.com

Regex de validation du code PIN indien - Seulement six chiffres, ne doit pas commencer par «0»

J'ai essayé Regex accepte uniquement le numérique. Le premier caractère ne peut pas être et Quel est le regex pour "Tout entier positif, à l'exclusion de 0" mais cela n'a pas fonctionné comme selon mes besoins.

Je veux un numéro numérique exact à 6 chiffres mais ne doit pas commencer par 0

J'ai essayé

^[1-9][0-9]{6}*$
^([^0][0-9]){6}$
...

Besoin d'un réglage fin.

8
Some Java Guy

Le problème avec ^[1-9][0-9]{6}*$ Est qu'il s'agit d'une expression rationnelle invalide à cause de {6}* Et ^([^0][0-9]){6}$ est qu'il autorise tout caractère qui n'est pas 0 suivi de six chiffres.

Utilisation

^[1-9][0-9]{5}$

Explication:

  1. ^: Commence par une ancre
  2. [1-9]: Correspond exactement à un chiffre de 1 à 9
  3. [0-9]{5}: Correspond exactement à cinq chiffres dans la plage incluse 0-9
  4. $: Se termine par une ancre

Regex Visualization

Aire de jeux Regex101

Démo HTML5:

input:invalid {
  color: red;
}
<input type="text" pattern="[1-9][0-9]{5}" />
23
Tushar

Certains sites Web et banques ont l'habitude d'espacer le code PIN après 3 chiffres. Pour faire correspondre à la fois 515411 et 515 411, le modèle suivant vous aidera.

^[1-9]{1}[0-9]{2}\s{0,1}[0-9]{3}$
  • ^ [1-9] {1} - PIN Code commençant par les chiffres 1-9
  • [0-9] {2} - Les deux chiffres suivants peuvent aller de 0 à 9
  • \ s {0,1} - Espace qui peut se produire une fois ou jamais
  • [0-9] {3} $ - Les 3 derniers doivent être des chiffres compris entre 0 et 9
0
navule