Hola.
Cuando programo la parte del cliente hago las validaciones con Expresiones Regulares, siempre pude resolverlo hasta que me tope con algo que parece demasiado simple pero no pude resolverlo
Resulta que tengo que validar que un campo para que solo se pueda ingresar números del 0 al 15, me parece simple y escribo:
/^[0-9]|1[0-5]$/
y no funciona!!! Pruebo y vuelvo a probar y no funciona!!! Busco en el foro y encuentro:
/^2[5-9]|[3-6]\d|7[0-5]$/
(http://www.forosdelweb.com/f13/rango-numeros-con-expresion-regular-934554/)
que valida un rango de 25 a 75 y funciona correctamente, entonces pruebo algo super básico:
/^1|2$/ (Valida que el campo sea solo 1 ó 2) y no funciona!!!
pero si lo escribo asi:
/^(1|2)$/
Sí funciona!!! Ahora casi que se a vuelto personal, y sigo intentando y llego a esto:
/^2[0-5]|15$/ (Valida de 20 a 25 ó 15) y funciona perfectamente.
/^[0-5]|15$/ (Valida de 0 a 5 ó 15) y no funciona!!!!
Aparentemente el problema surge cuando empiezo con la opción de rango [] , si empiezo con una constante como por ejemplo 2 todo anda bien.
Alguien sabe que pasa?
También descubrí que si escribo /^[1-7]$/ (valida el rango del 1 al 7) y funciona correctamente pero si escribo /^[1-7]|15$/ ya no funciona. Aparentemente el problemas es si se combina "[]" al principio y "|"
PD:
Uso firefox y firebug para probar