Tenemos la respuesta a este enigma, o por lo menos eso esperamos. Si sigues con preguntas puedes dejarlo en el apartado de preguntas, que sin dudarlo te responderemos
Solución:
Hay muchas maneras de hacerlo, pero aquí hay una alternativa para permitir cualquier longitud de número sin ceros a la izquierda.
0-99:
^(0|[1-9][0-9]0,1)$
0-999 (simplemente aumente 0,2):
^(0|[1-9][0-9]0,2)$
1-99:
^([1-9][0-9]0,1)$
1-100:
^([1-9][0-9]0,1|100)$
Cualquier numero en el mundo
^(0|[1-9][0-9]*)$
12 a 999
^(1[2-9]|[2-9][0-9]1|[1-9][0-9]2)$
Actualizado:
^([0-9]|[1-9][0-9])$
Partidos 0-99. No coincide con valores con ceros a la izquierda. Dependiendo de su aplicación, es posible que deba escapar de los paréntesis y el símbolo o .
^(0|[1-9][0-9]?)$
Pruebe aquí http://regexr.com?2uu31 (se incluyen varias muestras)
Tienes que agregar un 0|
pero tenga en cuenta que el “o” (|
) en Regexes tiene la precedencia más baja. ^0|[1-9][0-9]?$
en realidad significa (^0)|([1-9][0-9]?$)
(ignoraremos que ahora hay dos grupos de captura). Entonces significa “el string empieza con 0
” O el string termina con [1-9][0-9]?
“. Una alternativa al uso de corchetes es repetir el ^$
me gusta ^0$|^[1-9][0-9]?$
.
Aquí puedes ver las comentarios y valoraciones de los lectores
Si conservas alguna desconfianza o capacidad de refinar nuestro crónica te recomendamos escribir una explicación y con mucho placer lo analizaremos.