Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/04/2007, 09:53
escudo40
 
Fecha de Ingreso: enero-2007
Mensajes: 51
Antigüedad: 18 años, 1 mes
Puntos: 0
Sonrisa Re: problema al validar Formulario antes de enviar

Hola a todos creo que les va a encantar esta validación de formularios que les voy a dejar

Este es el archivo html "prueva.html"

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <script src="condicion.js" type="text/javascript">
    </script>
    <title></title>
</head>
<body>
    <form name="datos" onsubmit="return validar(this)" action="" method="post">
        <table>
            <tr>
                <td>Nombre y Apellido:</td>
                <td><input type="text" size="40" name="nombre_f"></td>
            </tr>
            <tr>
                <td>Email:</td>
                <td><input type="text" size="40" name="email_f"></td>
            </tr>
            <tr>
                <td>Telefono:</td>
                <td><input onkeypress="return numeralsOnly(this.value,event,0)" type="text" maxlength="11" size="12" name="telefono_f"></td>
            </tr>
        </table><input type="submit" value="Siguiente &raquo;">
    </form>
    </body>
</html> 
este es el archivo javascript "condicion.js"
Código:
function numeralsOnly (currv, evt, decimal)
{
	evt = (evt) ? evt : event;
	var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
	if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46)
	{
		return false;
	}
	if (charCode == 46)
	{
		if (decimal == 0)
		{
			return false;
		}
		else
		{
			if (currv.indexOf(".") != -1)
			{
				return false;
			}
		}
	}
	else if (currv.indexOf(".") != -1)
	{
		var s = currv.substring(currv.indexOf("."));
		if (s.length > decimal)
		{
			return false;
		}
	}
	return true;
}
function validar(form)
{
	var email = form.email_f.value.toLowerCase()
	var domain = email.substr(email.indexOf('@') + 1,email.length)
	if (domain == "mipunto.com")
	{
		alert("Debe suministrar otro email que no sea una cuenta de MIPUNTO.COM");
		return (false);
	}
	if (form.nombre_f.value == "")
	{
		alert("Debe suministrar tu nombre y apellido.");
		return (false);
	}
	if (form.email_f.value == "")
	{
		alert("Debe suministrar tu email.");
		return (false);
	}
	var stripped = form.telefono_f.value.replace(/[\(\)\.\-\ ]/g, '');
	if (isNaN(parseInt(stripped)))
	{
		alert("El numero telefonico contiene caracteres no validos");
		return (false);
	}
	if (stripped.length != "11")
	{
		alert("Numero de telefono incorrecto. Verifica que hallas incluido el codigo de area o de celular. El numero telefonico debe constar de 11 digitos.");
		return (false);
	}
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|gob|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=email.match(emailPat);
	if (matchArray==null)
	{
		alert("Debe escribir una direccion de correo valida.");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	for (i=0; i<user.length; i++)
	{
		if (user.charCodeAt(i)>127)
		{
			alert("La direccion de correo contiene caracteres no validos en el usuario.");
			return false;
		}
	}
	for (i=0; i<domain.length; i++)
	{
		if (domain.charCodeAt(i)>127)
		{
			alert("La direccion de correo contiene caracteres no validos en el dominio.");
			return false;
		}
	}
	if (user.match(userPat)==null)
	{
		alert("Debe escribir una nombre de usuario valido en el email.");
		return false;
	}
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++)
	{
		if (domArr[i].search(atomPat)==-1)
		{
			alert("Debe escribir un dominio valido en el email.");
			return false;
		}
	}
	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1)
	{
		alert("El email debe terminar en un dominio conocido o en un subdominio de " + "pais.");
		return false;
	}
return (true);
}
Desearía que se intentara expandir la validación de este formulario
Como por ejemplo “La dirección IP de Destino del email es invalida” algo como eso




Léanse esta información w w w .duamu.com/re/articulo/1348/id/356/articulos-identificar-clientes-por-su-ip-un-mecani.html

¿Como Reconocer una Maquina?
________________________________________
Como podriamos identificar una maquina (NO USUARIO) que se conecte a nuestro servidor.
Yo antes lo hacia mediante una cookie, pero sucedia que los users más experimentados borraban dicha cookie y burlaban el sistema para que el servidor los reconociera nuevamente.. Y RECONOCER UNA MAQUINA POR IP "NO SIRVE" YA QUE HAY MUCHAS CONEXIONES TIPO PROXY donde muchas maquinas tienen la misma IP en internet....


Que solucion me darian ustedes o si conocen algun "IDENTIFICADOR UNICO DE MAQUINA" que me puedan dar como referencia...

Saludos.-


Esto fue mencionado por “xyyy7” también necesito ayuda en ese tema.

Si ban a responder hacerca del tema de "¿Como Reconocer una Maquina?" No lo agan en este aganlo e w w w .forosdelweb.com/showthread.php?t=485568.