Saltar al contenido

javascript regex validar años en el rango

Solución:

Prueba esto:

1990-2010:

/^(199d|200d|2010)$/

1950 – 2050:

/^(19[5-9]d|20[0-4]d|2050)$/

Otros ejemplos:

[1945-2013:

/^(194[5-9]|19[5-9]d|200d|201[0-3])$/

1812 – 3048:

/^(181[2-9]|18[2-9]d|19dd|2d{3}|30[0-3]d|304[0-8])$/

Básicamente, necesitas dividir tu rango en fragmentos fáciles de “expresiones regulares”:

1812-3048: 1812-1819 + 1820-1899 + 1900-1999 + 2000-2999 + 3000-3039 + 3040-3048
    regex: 181[2-9]    18[2-9]d   19dd      2d{3}      30[0-3]d   304[0-8]

RegExp no parece ser la herramienta adecuada aquí. Si tiene los valores del año ya aislados, seguramente una simple comparación funcionaría:

if (+yr >= 1990 && +yr <= 2010)

los +yr convierte la cadena en un número

Para un rango de 1950 a 2050, puede usar la siguiente expresión regular:

^19[5-9]d|20[0-4]d|2050$

Demostración en línea

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *