J'ai besoin d'une expression régulière qui valide pour un nombre avec la longueur 4, 5, 6
J'ai utilisé ^ [0-9] {4} pour valider pour un nombre de 4, mais je ne sais pas comment inclure la validation pour 5 et 6.
Essaye ça:
^[0-9]{4,6}$
{4,6}
= entre 4 et 6 caractères inclus.
Soyez conscient que, comme écrit, la solution de Peter "acceptera" 0000
. Si vous souhaitez valider les nombres entre 1000
et 999999
, alors c'est un autre problème 🙂
^[1-9][0-9]{3,5}$
Par exemple, bloquera l'insertion de 0
au début de la chaîne.
Si vous souhaitez accepter 0 rembourrage, mais seulement jusqu'à une longueur de 6, afin que 001000
soit valide, il devient plus complexe. Si nous utilisons le look-ahead, nous pouvons écrire quelque chose comme
^(?=[0-9]{4,6}$)0*[1-9][0-9]{3,}$
Ceci vérifie d'abord si la chaîne est longue 4-6 (?=[0-9]{4,6}$)
, puis saute les 0s 0*
et recherchez un non-zéro [1-9]
suivi d'au moins 3 Chiffres [0-9]{3,}
.
[0-9]{4,6}
peut être raccourci à \d{4,6}
Si la langue que vous utilisez accepte {}
, vous pouvez utiliser [0-9]{4,6}
.
Sinon, vous devrez utiliser [0-9][0-9][0-9][0-9][0-9]?[0-9]?
.