Verificar email por javascript
Hola,
Despues de mucho trabajo tengo funcionando un formulario que es verificado via javascript al vuelo, verifica que los campos no estan vacios y que los campos email y repetir email coinciden. Y si el usuario tuviera javascript desactivado se verifica via php.
Funciona bien, pero lo que no me gusta es que si un usuario en el campo email escribe: no tengo correo, pues le saldrá un mensaje diciendo que se ha enviado correctamento, sin embargo no recibo el email.
Asi que me gustaria verificar el email tambien, he intentado añadir varios scripts que he encontrado pero nada, no lo consigo.
No sé javascript, este es de mi hijo, que tampoco sabe, pero entiende mas que yo.
Como no se puede pegar formularios, lo he subido aqui (sin estilos)
http://www.marbellasunrentals.com/dmstk.htm
Y este es el javascript recortado:
<code>function validarcontacto()
{
if(document.form.email.value.length < 1)
{
document.getElementById('email3').style.display = 'inline';
document.getElementById('email2').style.border = '#FF0000 1px solid';
document.form.email.focus();
return 0;
}
if(document.form.repeat_email.value.length < 1)
{
document.getElementById('repeat_email3').style.display = 'inline';
document.getElementById('repeat_email2').style.border = '#FF0000 1px solid';
document.form.repeat_email.focus();
return 0;
}
if(document.form.email.value != document.form.repeat_email.value)
{
document.getElementById('repeat_email4').style.display = 'inline';
document.getElementById('repeat_email2').style.border = '#FF0000 1px solid';
document.getElementById('email2').style.border = '#FF0000 1px solid';
}
else
{
document.form.submit();
}
} </code>
Si alguien me puede guiar,
helenp
Gracias, lo he probado y no va, habrá algun falillo, pero no importa, ya me he calentado a hacer este que es una maravilla, y completisimo.
http://www.phatfusion.net/validate/
jdy
Hola.
Lo más cómodo es que utilices una Expresión Regular.
Algo así:
<code>
function validarcontacto(){
//Recuperamos el valor del e-mail.
var email = document.getElementById('email2').value;
//Creamos la Expresión Regular.
var emailFilter = new RegExp(/^([\w\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);
//Si el e-mail no pasa el test, es que no tiene un formato correcto.
if(!emailFilter.test(email)){
document.getElementById('email3').style.display = 'inline';
document.getElementById('email2').style.border = '#FF0000 1px solid';
document.getElementById('email2').focus();
return false;
}
//Recuperamos el valor de la confirmación de e-mail
var repEmail = document.getElementById('repeat_email2').value;
//Comprobamos que email y repEmail sean iguales.
if(email != repEmail){
document.getElementById('repeat_email4').style.display = 'inline';
document.getElementById('repeat_email2').style.border = '#FF0000 1px solid';
document.getElementById('email2').style.border = '#FF0000 1px solid';
return false;
}
else{
//Sería mejor acceder al formulario poniéndole una id y usando getElementById
document.form.submit();
}
}
</code>
Las Expresiones Regulares son todo un mundo (y complejo), pero son magníficas a la hora de trabajar con textos.
Cheers!!!
markshock
Hola Helenp,
Pues mirate este enlace, tiene un código muy mono que seguirisimo que te sirve ;)
http://www.mcanam.com/articulos/JavaScript.php?id=7
Un saludo!