Weblogs Código

RecorteX

» cif
73 usuarios y 244 recortes de código
Usuario

Contraseña
Crear cuenta
Estás viendo los recortes de la etiqueta cif

RSS
Recortes: 1

Etiquetas relacionadas:
validaciones
cuentas_bancarias
dni
Javascript
nie

Validaciones Javascript DNI, NIE, CIF y CUENTAS BANCARIAS



		<label>DNI/NIF </label>
		<input type="text" id="dni" onblur="validaNif(this)"></input>
		<br><br>
		<label>CIF </label>
		<input type="text" id="cif" onblur="validaCif(this)"></input>
		<br><br>
		<label>NIE </label>
		<input type="text" id="nie" onblur="validaNie(this)"></input>		
		<br><br>
						
		<br><br>
		<label>DNI/NIF </label>
		<input type="text" id="dni2" onblur="validaNif2('dni2','ldni')"></input>
		&nbsp;
		<input type="text" id="ldni" size="1" onblur="validaNif2('dni2','ldni')"></input>
		<br><br>
		<label>CIF </label>
		<input type="text" id="cif2" onblur="validaCif2('cif2','lcif')"></input>
		&nbsp;
		<input type="text" id="lcif" size="1" onblur="validaCif2('cif2','lcif')"></input>
		<br><br>
		<label>NIE </label>
		<input type="text" id="nie2" onblur="validaNie2('nie2','lnie')"></input>
		&nbsp;
		<input type="text" id="lnie" size="1" onblur="validaNie2('nie2','lnie')"></input>
		<br><br>

    <TABLE BORDER=0>
    <TR>
      <TD>Banco</TD>
      <TD>Sucursal</TD>
      <TD>DC</TD>
      <TD>Cuenta</TD>
    </TR>
    <TR>
      <TD><INPUT TYPE="text" NAME="banco" id="banco" MAXLENGTH="4" SIZE="4" onblur="validar('banco','sucursal','dc','cuenta')"></TD>
      <TD><INPUT TYPE="text" NAME="sucursal" id="sucursal" MAXLENGTH="4" SIZE="4" onblur="validar('banco','sucursal','dc','cuenta')"></TD>
      <TD><INPUT TYPE="text" NAME="dc" id="dc" MAXLENGTH="2" SIZE="2" onblur="validar('banco','sucursal','dc','cuenta')"></TD>
      <TD><INPUT TYPE="text" NAME="cuenta" id="cuenta" MAXLENGTH="10" SIZE="10" onblur="validar('banco','sucursal','dc','cuenta')"></TD>
    </TR>
    </TABLE>
  </FORM>
 
 
//Funcion volver
function retornar(id)
{
	control=document.getElementById(id);
	document.getElementById(id).value='';	
	//document.getElementById(id).select();		
	//document.getElementById(id).focus();
	return;
	
}
 
 
//Funciones auxiliares
function IsNumeric(cadena)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
 
 
   for (i = 0; i < cadena.length && IsNumber == true; i++) 
      { 
      Char = cadena.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }
 
   
// check to see if input is alphabetic
function isAlphabetic(cadena)
{
if (cadena.match(/^[a-zA-Z]+$/))
{
return true;
}
else
{
return false;
} 
}
   
 
 
 
//Funciones validadoras
 
function validaNif(control) 
{	
  if (control.value=="")
	return;
  var dni=control.value;    
  var numero = dni.substr(0,dni.length-1);
  var let = dni.substr(dni.length-1,1);
  let=let.toUpperCase();
  numero = numero % 23;
  var letra='TRWAGMYFPDXBNJZSQVHLCKET';
  letra=letra.substring(numero,numero+1);    
  //alert(letra);
  if (letra!=let)   
  {
    mensaje("dni","es");
    retornar(control.id);		
  }
}
 
 
function validaCif(control)
{ 
  if (control.value=="")
  {
	return;
  }
        var texto=control.value;
        var pares = 0; 
        var impares = 0; 
        var suma; 
        var ultima; 
        var unumero; 
        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I"); 
        var xxx; 
         
        texto = texto.toUpperCase(); 
         
        var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g); 
         if (!regular.exec(texto)) 
			{
				mensaje("cif","es");
				retornar(control.id);		
			}
		 
              
         ultima = texto.substr(8,1); 
 
         for (var cont = 1 ; cont < 7 ; cont ++){ 
             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0"; 
             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
             pares += parseInt(texto.substr(cont,1)); 
         } 
         xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0"; 
         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
          
         suma = (pares + impares).toString(); 
         unumero = parseInt(suma.substr(suma.length - 1, 1)); 
         unumero = (10 - unumero).toString(); 
         if(unumero == 10) unumero = 0; 
          
         if ((ultima == unumero) || (ultima == uletra[unumero])) 
             return true; 
         else 
             {
				mensaje("cif","es");
				retornar(control.id);		
			 }
 
    } 
 
	
function validaNie(control) 
{	
  if (control.value=="")
	return;	
 
	var a=control;		
	var temp=a.value.toUpperCase();
	var cadenadni="TRWAGMYFPDXBNJZSQVHLCKET";
	var v1 = new Array(0,2,4,6,8,1,3,5,7,9);
	var posicion=0;
	var letra=" ";
	
	//Residente en España	
	if (a.value.length==9)
	{
		if (temp.substr(0,1)=="X")
		{
			var temp1=temp.substr(1,7);
 
			posicion = temp1 % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
			letra = cadenadni.substring(posicion,posicion+1);
			if (!/^[A-Za-z0-9]{9}$/.test(temp))
			{ 
				mensaje("nie","es");
				retornar(control.id);	
			}
			else
			{ 
				//Tiene los 9 dígitos, comprobamos si la letra esta bien
				var temp1=temp.substr(1,7);
				posicion = temp1 % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
				letra = cadenadni.charAt(posicion);
				var letranie=temp.charAt(8);
				if (letra != letranie){			
					mensaje("nie","es");
					retornar(control.id);			
				}				
			}
		}
		else
		{
			mensaje("nie","es");
			retornar(control.id);			
		}		
	}else if (a.value.length==14){//14 caracteres, los 2 primeros letras
		var temp1=temp.substr(0,2);
		if (isAlphabetic(temp1)!=true)	
			{
			mensaje("nie","es");
			retornar(control.id);	
			}
	}
	else
	{
			mensaje("nie","es");
			retornar(control.id);			
 
	}
	
}
 
 
 
 
 
  
	
 
function mensaje(msg,lang)
{
	if (lang=="es")
	{
		if(msg=="dni")	
			{
			alert("DNI no valido");
			}
		else if (msg=="cif")
					{
			alert("CIF no valido");
			}
		else if (msg=="nie")
					{
			alert("NIE no valido");
			}			
		else if (msg=="dc")
					{
			alert("El digito de control no es correcto");
			}						
		else if (msg=="completo")
					{
			alert("Rellene todos los datos de la cuenta");
			}									
		else if (msg=="formato")
					{
			alert("Formato incorrecto");
			}									
		else
			alert("Formato no valido");
	}
	
}
 
 
 
function validar(ibanco,isucursal,idc,icuenta) 
  {  
	var banco=(document.getElementById(ibanco).value);
	var sucursal=(document.getElementById(isucursal).value);
	var dc=(document.getElementById(idc).value);
	var cuenta=(document.getElementById(icuenta).value);	  
  
		if (banco == ""  || sucursal == "" || dc == "" || cuenta == ""){
		  return;
		}
		else 
		{
			if (banco.length != 4 || sucursal.length != 4 ||
				dc.length != 2 || cuenta.length != 10)
				{
				mensaje("completo","es");
				retornar(idc);							
			}
			else {
			  if (!numerico(banco) || !numerico(sucursal) ||
				  !numerico(dc) || !numerico(cuenta)){
				mensaje("formato","es");
				retornar(ibanco);
				retornar(isucursal);					  					  	
				retornar(idc);
				retornar(icuenta);
				  	}				
			  else {
			  	//alert(obtenerDigito("00" + banco + sucursal));
			  	//alert(obtenerDigito(cuenta));
				if (!(obtenerDigito("00" + banco + sucursal) ==
					  parseInt(dc.charAt(0))) || 
					!(obtenerDigito(cuenta) ==
					  parseInt(dc.charAt(1))))
					  {
					mensaje("dc","es");
					retornar(idc);					  					  	
				  	} 
				else
				  return;
			  }
			}
		}
}
 
function numerico(valor){
  cad = valor.toString();
  for (var i=0; i<cad.length; i++) {
    var caracter = cad.charAt(i);
	if (caracter<"0" || caracter>"9")
	  return false;
  }
  return true;
}
 
function obtenerDigito(valor){
  valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
  control = 0;
  for (i=0; i<=9; i++)
    control += parseInt(valor.charAt(i)) * valores[i];
  control = 11 - (control % 11);
  if (control == 11) control = 0;
  else if (control == 10) control = 1;
  return control;
}
 
 
function validaNif2(c1,c2)
{	
	var campo1=(document.getElementById(c1).value);
	var campo2=(document.getElementById(c2).value);	  
  
	if (campo1 == ""  || campo2 == ""){
	  return;
	}else{		
		var dni=campo1+campo2;  
		var numero = dni.substr(0,dni.length-1);
		var let = dni.substr(dni.length-1,1);
		numero = numero % 23;
		var letra='TRWAGMYFPDXBNJZSQVHLCKET';
		letra=letra.substring(numero,numero+1);  
		if (letra!=let)   
		{
			mensaje("dni","es");	
			retornar(c2);			
		}
	}
}
 
function validaCif2(c1,c2)
{	
	var campo1=(document.getElementById(c1).value);
	var campo2=(document.getElementById(c2).value);	  
  
	if (campo1 == ""  || campo2 == ""){
	  return;
	}else{
		//alert("Cif "+campo1+" "+campo2);
		
		var texto=campo1+campo2; 
        var pares = 0; 
        var impares = 0; 
        var suma; 
        var ultima; 
        var unumero; 
        var uletra = new Array("J", "A", "B", "C", "D", "E", "F", "G", "H", "I"); 
        var xxx; 
         
        texto = texto.toUpperCase(); 
         
        var regular = new RegExp(/^[ABCDEFGHKLMNPQS]\d\d\d\d\d\d\d[0-9,A-J]$/g); 
         if (!regular.exec(texto)) 
			{
				mensaje("cif","es");
				retornar(control.id);		
			}
		 
              
         ultima = texto.substr(8,1); 
 
         for (var cont = 1 ; cont < 7 ; cont ++){ 
             xxx = (2 * parseInt(texto.substr(cont++,1))).toString() + "0"; 
             impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
             pares += parseInt(texto.substr(cont,1)); 
         } 
         xxx = (2 * parseInt(texto.substr(cont,1))).toString() + "0"; 
         impares += parseInt(xxx.substr(0,1)) + parseInt(xxx.substr(1,1)); 
          
         suma = (pares + impares).toString(); 
         unumero = parseInt(suma.substr(suma.length - 1, 1)); 
         unumero = (10 - unumero).toString(); 
         if(unumero == 10) unumero = 0; 
          
         if ((ultima == unumero) || (ultima == uletra[unumero])) 
             return true; 
         else 
             {
				mensaje("cif","es");
				retornar(c2);		
			 }
 
    } 		
		
		
	
}
 
function validaNie2(c1,c2)
{	
	var campo1=(document.getElementById(c1).value);
	var campo2=(document.getElementById(c2).value);	  
  
	if (campo1 == ""  || campo2 == ""){
	  return;
	}else{
		//alert("Nie "+campo1+" "+campo2);		
 
			var a=campo1+campo2; 		
			var temp=a.toUpperCase();
			var cadenadni="TRWAGMYFPDXBNJZSQVHLCKET";
			var v1 = new Array(0,2,4,6,8,1,3,5,7,9);
			var posicion=0;
			var letra=" ";
 
			//Residente en España	
			if (a.length==9)
			{
				if (temp.substr(0,1)=="X")
				{
					var temp1=temp.substr(1,7);
 
					posicion = temp1 % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
					letra = cadenadni.substring(posicion,posicion+1);
					if (!/^[A-Za-z0-9]{9}$/.test(temp))
					{ 
						mensaje("nie","es");
						retornar(c2);	
					}
					else
					{ 
						//Tiene los 9 dígitos, comprobamos si la letra esta bien
						var temp1=temp.substr(1,7);
						posicion = temp1 % 23; /*Resto de la division entre 23 es la posicion en la cadena*/
						letra = cadenadni.charAt(posicion);
						var letranie=temp.charAt(8);
						if (letra != letranie){			
							mensaje("nie","es");
							retornar(c2);			
						}				
					}
				}
				else
				{
					mensaje("nie","es");
					retornar(c2);		
				}		
			}else if (a.length==14){//14 caracteres, los 2 primeros letras
				var temp1=temp.substr(0,2);
				if (isAlphabetic(temp1)!=true)	
					{
					mensaje("nie","es");
					retornar(c2);	
					}
			}
			else
			{
					mensaje("nie","es");
					retornar(c2);		
 
			}
 
	}
}
 
Proyecto: Juanjo Navarro, 2006 - Diseño: Albin