Este team especializado pasados muchos días de investigación y de recopilar de información, hallamos la solución, deseamos que resulte útil para ti en tu plan.
Solución:
Puedes usar el cuantificador de rango min,max
para especificar un mínimo de 1 dígito y un máximo de 6 dígitos como:
^[0-9]1,6$
Explicación:
^ : Start anchor
[0-9] : Character class to match one of the 10 digits
1,6 : Range quantifier. Minimum 1 repetition and maximum 6.
$ : End anchor
¿Por qué su expresión regular no funcionó?
Estabas casi cerca de la expresión regular:
^[0-9][0-9]?[0-9]?[0-9]?[0-9]?[0-9]?$
Como habías escapado de la ?
precediéndola con el los
?
ya no actuaba como un metacarácter de expresiones regulares (por 0
o 1
repeticiones) pero estaba siendo tratado literalmente.
Para arreglarlo simplemente quite el y tu estas ahi
Verlo en rubular.
La expresión regular basada en el cuantificador es más corta, más legible y se puede extender fácilmente a cualquier número de dígitos.
Su segunda expresión regular:
^[0-999999]$
es equivalente a:
^[0-9]$
que coincide con cadenas con exactamente un dígito. Son equivalentes porque una clase de carácter [aaaab]
es igual que [ab]
.
^d1,6$
…………………
Tu podrías intentar
^[0-9]1,6$
deberia de funcionar.
Aquí tienes las comentarios y valoraciones
Si entiendes que te ha sido de ayuda este artículo, sería de mucha ayuda si lo compartieras con el resto seniors de esta manera contrubuyes a extender este contenido.