JavaScript 有效的Nif,Cif,Dni

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 有效的Nif,Cif,Dni相关的知识,希望对你有一定的参考价值。

/*******************************
 Validación del nif. Por Carlitos. carlosbernad@teleline.es
 Si usas este script, deja intactas estas líneas (créditos). Vale?
 También te agradecería un e-mail con tus comentarios.
*******************************/


function isValidCif(abc){
	par = 0;
	non = 0;
	letras = "ABCDEFGHKLMNPQS";
	let = abc.charAt(0);
	
	if (abc.length!=9) {
		//alert('El Cif debe tener 9 dígitos');
		return false;
	}
	
	if (letras.indexOf(let.toUpperCase())==-1) {
		//alert("El comienzo del Cif no es válido");
		return false;
	}
	
	for (zz=2;zz<8;zz+=2) {
		par = par+parseInt(abc.charAt(zz));
	}
	
	for (zz=1;zz<9;zz+=2) {
		nn = 2*parseInt(abc.charAt(zz));
		if (nn > 9) nn = 1+(nn-10);
		non = non+nn;
	}
	
	parcial = par + non;
	control = (10 - ( parcial % 10));
	if (control==10) control=0;
	
	if (control!=abc.charAt(8)) {
		//alert("El Cif no es válido");
		return false;
	}
	//alert("El Cif es válido");
	return true;
}


function isValidNif(abc){
	dni=abc.substring(0,abc.length-1);
	let=abc.charAt(abc.length-1);
	if (!isNaN(let)) {
		//alert('Falta la letra');
		return false;
	}else{
		cadena = "TRWAGMYFPDXBNJZSQVHLCKET";
		posicion = dni % 23;
		letra = cadena.substring(posicion,posicion+1);
		if (letra!=let.toUpperCase()){
			//alert("Nif no válido");
			return false;
		}
	}
	//alert("Nif válido")
	return true;
}



function isValidEmail(str){
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	return (filter.test(str));
}

function isValidTelef(num){
	if(num.length < 9){
		return false;
	}else if(isNaN( num )){
		return false;
	}else{
		return true;
	}
}

function isValidDateFormat(str){
	var filter=/^(\d{1,2}\/\d{1,2}\/\d{2})$/i;
	return (filter.test(str));
}

以上是关于JavaScript 有效的Nif,Cif,Dni的主要内容,如果未能解决你的问题,请参考以下文章

python Validar DNI,NIF,NIE

国际货币基金组织

javascript 智利DNI验证器并获取JSON {run:Number / String,adv:Number / String,dv:Number / String,valid:Boolean

在 Erlang VM 和 NIF 之间传递 BIGINT

Erlang NIF 奇怪的 iolist 行为

Erlang NIF 测试——OS X Lion