JavaScript - Expresion Regular Javascript

   
Vista:

Expresion Regular Javascript

Publicado por Pedro (1 intervención) el 30/11/2014 17:44:08
Hola, soy nuevo en esto de la programación y necesito crear una expresion regular para validar una tarjeta sanitaria que tiene los siguientes requisitos de ejemplo:

EJEMPLO DE TARJETA: MJRE791122911019

El desglose sería el siguiente:

1.- "MJRE" Son cuantro letras entre la A y la Z
2.- "79" Es el año de nacimiento, por lo que pueden ser numeros del 0 al 9
3.- "11" Es el MES de nacimiento, por lo que el primer 1 solo puede ser 0 o 1 y el segundo 1 puede ser un numero del 0 al 9
4.- "22" es el DIA de nacimiento por lo que el primer 2 solo puede ser 0,1,2 o 3 y el segundo 2 puede ser un numero del 0 al 9
5.- "911019" son 6 NUMEROS cualquiera

Heh hecho la siguiente funcion, ya seéque está mal y no sé siquiera si la estoy construyendo bien porque es mi primera experiencia en javascript, asi que agradeceria enormemente la ayuda de alguien:

1
2
3
4
5
6
7
function validaTarjeta() {
	if (/^([A-z]{4})([0-9]{2})([0-1]{1})([0-9]{1})([0-3]{1})([0-9]{1})([0-9]{6})$/.test(document.formulario.tarjeta.value)){
		alert("La tarjeta sanitaria: " + valor + " cumple los requisitos.");
	} else {
		alert("La tarjeta sanitaria no es válida.");
	}
}

Un saludo y muchas gracias por anticipado.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Expresion Regular Javascript

Publicado por xve (1596 intervenciones) el 30/11/2014 21:09:46
Hola Pedro, me da la sensación que te has complicado... la expresion regular, acaba siendo 4 caracteres seguido de 12 numeros.
No se si los caracteres son siempre en mayuscula... he puesto mayuscula y minuscula por si acaso.

1
2
3
4
5
6
7
8
var valor="MJRE791122911019";
var re=/^([a-zA-Z]{4})([0-9]{12})$/;
 
if (re.test(valor)){
    alert("La tarjeta sanitaria: " + valor + " cumple los requisitos.");
} else {
    alert("La tarjeta sanitaria no es válida.");
}

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar