Ver Mensaje Individual
  #207 (permalink)  
Antiguo 27/02/2005, 18:40
Avatar de trasgukabi
trasgukabi
 
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 18
209. Cómo puedo validar el ISBN de un libro

P: Cómo puedo validar el ISBN de un libro?

R:Llegando a forosdelweb a partir de ahora, porque en google no he encontrado nada y ha salido esto de mi cabecita:
Código:
<script language="javascript">
function comprueba()
{ 
	if (document.form2.isbn.value!="x-xxxx-xxxx-x")
	{
		var salida, plantilla;                   
		var texto = document.form2.isbn.value;
		var estructura=true;
		plantilla = new RegExp("^[0-9]{1,5}-[0-9]{1,7}-[0-9]{1,6}-[0-9xX]$"); 
		salida = texto.match(plantilla); 
		if (salida==null)
		{
			estructura=false;
		}
		if (texto.length!=13)
		{
			estructura=false;
		}
		if (!estructura)
		{ 
			alert("La estructura del ISBN introducido no coincide con el estándar ISBN\n\nEjemplo: 0-8436-1072-7\n\n El estándar indica esta estructura:\nde 1 a 5 números\nguión\nde 1 a 7 números\nguión\nde 1 a 6 números\nguión\ndígito de control. de 0 a 9 o \"X\" si el dígito es 10\nLa longitud total debe ser de 10 dígitos, más los tres guiones.")
		}
		else
		{
			tt2 = texto.split("-");
			grupo1=new String(tt2[0]);
			grupo2=new String(tt2[1]);
			grupo3=new String(tt2[2]);
			grupo4=new String(tt2[3]);
			total= new Number(0);
			ponderacion=new Number(10);
			for (j= 0; j <grupo1.length; j++) 
			{	
				total+=(parseInt(grupo1.charAt(j))*ponderacion);
				--ponderacion;
			}
			for (j= 0; j <grupo2.length; j++) 
			{	
				total+=(parseInt(grupo2.charAt(j))*ponderacion);
				--ponderacion;
			}	
			for (j= 0; j <grupo3.length; j++) 
			{	
				total+=(parseInt(grupo3.charAt(j))*ponderacion);
				--ponderacion;
			}
			if(grupo4=="X" || grupo4=="x")
			{
				grupo4="10";		
			}
			resto=(total+parseInt(grupo4))%11;
			if (resto==0)
			{
				//document.form2.submit();
				alert("ISBN Correcto");
			}
			else
			{
				alert("El dígito de control (último numero de la serie) no es correcto. ISBN inválido.");
			}
		}
	}
}</script>


		<form name="form2">
		<input type="text" value="x-xxxx-xxxx-x"  maxlength="13"><input type="button" onClick="javascript:comprueba();" value="buscar">
		</form>
Para el que se quiera empapar de cómo se curra con los ISBN y los EAN, que se baje este pdf de mi página. un buen documento, si señor:
ISBN-EAN.rar(366K)

Última edición por KarlanKas; 06/09/2005 a las 02:37 Razón: Poner el nº de FAQ