![Neurótico](http://static.forosdelweb.com/fdwtheme/images/smilies/scared.png)
CODIGO DEL SCRIPT:
Código:
CODIGO DEL FORMULARIO<script type="text/javascript"> function validar_letra(e) { //el usuario no puede ingresar numeros ni caracteres especiales en el campo nombrefunction validar_letra(e) { tecla = (document.all) ? e.keyCode : e.which; if (tecla==8) return true; patron =/[A-Za-z\s]/; te = String.fromCharCode(tecla); return patron.test(te); } //PRIMERA FUNCION //VALIDO EL EMAIL POR SEPARADO DEL RESTO DE LOS CAMPOS function emailCheck (emailStr) { 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=emailStr.match(emailPat); if (matchArray==null) { alert("La dirección de correo parece ser inválida (verifique las @ y .)") return false } var user=matchArray[1] var domain=matchArray[2] if (user.match(userPat)==null) { alert("El nombre de usuario parece ser inválido.") return false } var IPArray=domain.match(ipDomainPat) if (IPArray!=null) { for (var i=1;i<=4;i++) { if (IPArray[i]>255) { alert("La dirección IP de destino es inválida!") return false } } return true } var domainArray=domain.match(domainPat) if (domainArray==null) { alert("El dominio no parece ser válido.") return false } var atomPat=new RegExp(atom,"g") var domArr=domain.match(atomPat) var len=domArr.length if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) { alert("Las direcciones deben terminar con dominios de tres letras, o el código de país de dos letras.") return false } if (len<2) { var errStr="Dominio Inválido!"; alert(errStr) return false } return true; } //SEGUNDA FUNCION //Valido los campos nombre y mensaje, que no esten vacios, ni rellenos con barra espaciadora function validar() { //valido el nombre if (document.form1.nombre.value.length==0){ alert("Tiene que escribir su nombre") document.form1.nombre.focus() return false; } nom = document.form1.nombre.value; //valida que el usuario no ingrese espacio en blanco al principio del campo if ( Trim(nom)=="" ){ alert ("Por favor ingrese su nombre correctamente"); return false; } //valido el mensaje if (document.form1.mensaje.value.length==0){ alert("Tiene que escribir su mensaje") document.form1.mensaje.focus() return false; } msj = document.form1.mensaje.value;//valida que el usuario no ingrese espacio en blanco al principio del campo if ( Trim(msj)=="" ){ alert ("Por favor ingrese su mensaje correctamente"); return false; } //el formulario se envia alert("Muchas gracias por enviar el formulario"); document.form1.submit(); } //funcion para validar los espacios en blanco que se ingresan con la barra espaciadorafunction Trim( str ) { var resultStr = ""; resultStr = TrimLeft(str); resultStr = TrimRight(resultStr); return resultStr; } function TrimLeft( str ) { var resultStr = ""; var i = len = 0; if (str+"" == "undefined" || str == null) return ""; str += ""; if (str.length == 0) resultStr = ""; else { len = str.length; while ((i <= len) && (str.charAt(i) == " ")) i++; resultStr = str.substring(i, len); } return resultStr; } function TrimRight( str ) { var resultStr = ""; var i = 0; if (str+"" == "undefined" || str == null) return ""; str += ""; if (str.length == 0) resultStr = ""; else { i = str.length - 1; while ((i >= 0) && (str.charAt(i) == " ")) i--; resultStr = str.substring(0, i + 1); } return resultStr; } </script>
Código HTML:
//posiciono el cursor en el campo nombre al cargar el formulario <body onLoad="this.document.form1.nombre.focus()"> <h1>Contacto</h1> <div id="cto_body"> <div class="cto_coment"><p><strong>Tel:</strong> 54 9 0341 452 18 96<br/> Rosario - Argentina<br/> <strong>e-mail:</strong> <a href="mailto:[email protected]">[email protected]</a> <p> </div> <form name="form1" action="../contacto/mail_adjuntos.php" method="post" enctype="multipart/form-data" id="cto_form1" onSubmit="emailCheck(this.email.value),validar();"> <label>nombre: (requerido)<br/> <input type="text" name="nombre" onKeyPress="return validar_letra(event)" > </label> <p> <label>e-mail: (requerido)<br/> <input type="text" name="email" /> </label> </p> <p> <label>mensaje: (requerido)<br/> <textarea name="mensaje"></textarea> </label> </p> <label>(opcional)</label><br/> <font face="Arial, Helvetica, sans-serif"> <input type='file' name='archivo' id='archivo' /> </font></p> <div id="oo"> <p> <label> <input type="submit" name="enviar" value="Enviar" > </label> <input type="reset" name="borrar" value="Borrar" /> </label> </p> </div> </form> </div> </body>