Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wdc_black_

Validação de email apresentando falha

Recommended Posts

eai galera, possuo o seguinte código para validar email do meu formulário

 

function validaForm(){
	//validar email
	if (d.email.value == "Seu Email*"){
		alert("O campo " + d.email.name + " deve ser preenchido!");
		d.email.focus();
		return false;
	}
	//validar email(verificao de endereco eletronico)
	parte1 = d.email.value.indexOf("@");
	parte2 = d.email.value.indexOf(".");
	parte3 = d.email.value.length;
	if (!(parte1 >= 3 && parte2 >= 6 && parte3 >= 9)) {
		alert("O campo " + d.email.name + " deve ser conter um email válido!");
		d.email.focus();
		return false;
	}
	return true;
}

 

form.php

<form name="form1" method="post" action="email.php" id="contato" onSubmit="return validaForm()">            
           <input type="text" name="email" value="Seu Email*" onfocus="if (this.value=='Seu Email*') this.value='';" onblur="if (this.value=='') this.value='Seu Email*'" />
           <input name="enviar" type="submit" value="Enviar" id="teste" class="enviar">
</form>

 

ele está aprensentando um erro quando informado 1 email do tipo teste.contato@email.com

o erro acontece quando possui 1 . (ponto) antes do @

como poderia eu arrumar esse bug???

entendo pouco de javascript

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa expressão regular, assim:

 

if (d.email.value == "Seu Email*"){
  alert("O campo " + d.email.name + " deve ser preenchido!");
  d.email.focus();
  return false;
}

if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(d.email.value))){
 alert("O campo E-mail deve ser um endereço eletrônico!");
 return false;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.