Bueno, te explico, el código que puse es solamente como implementar la validación de una dirección de correo utilizando expresiones regulares y test() en javascript
La aplicación de eso a un formulario sería asi, te aclaro además que estoy mofdificando tu sistema porque es poco eficiente, imaginá que ponen un espacio en blanco en "nombre", el valor de la cadena ya no seria 0, por lo tanto pasaría la validación.
Asi mismo es importante eliminar cualquier código html que te sea pasado en los campos
Aplicado a un form quedaría asi
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="content-type" content="text/html; charset=utf-8" />
/*<![CDATA[*/
.boton{
background-image: url(boton.png);
width: 30px;
height: 15px;
border: none;
background-color: transparent;
color: transparent;
}
label{
width: 150px;
display: inline-block;
}
/*]]>*/
<script type="text/javascript">
function validar(){
var nombre = document.getElementById('nombre').value;
var email = document.getElementById('email').value;
var email2 = document.getElementById('email2').value;
var formato = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
// validamos si el campo nombre está vacío o no
nombre = nombre.replace(/(<([^>]+)>)/ig,""); // quitás posible código html
nombre = nombre.replace(/^\s+/g,'').replace(/\s+$/g,'');// limpias espacios en blanco al inicio y final del nombre
if(nombre == ''){
alert('Ingrese su nombre')
return false;
}
var v_email = formato.test(email);
if((v_email != true)||(email == "")){
alert('Email no válido');
return false;
}
var v_email2 = formato.test(email2);
if((v_email2 != true)||(email2 == "")){
alert('Email2 no válido');
return false;
}
/// Si no hubo ningún error, el form se procesa
alert('gracias ' + nombre);
}
<form action="#" onsubmit="return validar();"> <label for="nombre">Nombre:
</label><input type="text" value="" id="nombre" name="nombre" /><br /> <label for="email">Email:
</label><input type="text" value="" id="email" name="email" /><br /> <label for="email2">Email 2:
</label><input type="text" value="" id="email2" name="email2" /><br /> <input type="submit" class="boton" value="-" />
Finalmente, si bien javascript puede mejorar la usabilidad del form por parte del cliente, una validación segura requiere ser hecha con un lenguaje del servidor, como php
Saludos