Ir para conteúdo

POWERED BY:

Arquivado

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

Mr Anderson

Validação - Verificar se existem caracteres inválidos

Recommended Posts

<script language="javascript">

function validar()
{	

var nome=document.form.nome.value;
var descricao=document.form.descricao.value;
var genero=document.form.genero.value;	
var texto= new String("0123456789-+./@!?#$%¨&*()}{[]ªº;:|,");
var i;
	
	if(nome=="")
	{
		alert("O CAMPO NOME NÃO PODE ESTAR VAZIO.");
		document.form.nome.focus();
		return (false);
	}
	else
	{
		if(genero=="")
		{
			alert("O CAMPO GENERO NÃO PODE ESTAR VAZIO.");
			document.form.genero.focus();
			return (false);
		}
		else
		{
			for(i=0;i<=texto.length;i++)
			{
 				if(genero.indexOf(texto[i])!='-1')//VERIFICAR SE EXISTE ALGUM DOS ELEMENTOS DA STRING TEXTO DENTRO DE GENERO, SE													EXISTIR DA MENSAGEM DE ERRO
				{
					alert("CARACTERES INVÁLIDOS NO CAMPO GENERO");
					document.form.genero.focus();
					return (false);				
				}
			}	
		}
	}
	return (true);
}
</SCRIPT>

O IF que está comentado deveria verificar se existe dentro da variável genero, algum valor contido na string texto, caso exista da mensagem de erro.

 

Só q não funciona o fluxo chega a entra no for, mais o IF não funciona e não consigo descobrir o pq?

 

 

Se alguem puder me ajudar, ficaria grato.

 

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A solução que eu encontrei foi usar o charAt.

 

Ficou assim.

 

 

<script language="javascript">

function validar()
{	

var nome=document.form.nome.value;
var descricao=document.form.descricao.value;
var genero=document.form.genero.value;	
var texto= new String("0123456789-+./@!?#$%¨&*()}{[]ªº;:|,");
var i;
var x;
	
	if(nome=="")
	{
		alert("O CAMPO NOME NÃO PODE ESTAR VAZIO.");
		document.form.nome.focus();
		return (false);
	}
	else
	{
		if(genero=="")
		{
			alert("O CAMPO GENERO NÃO PODE ESTAR VAZIO.");
			document.form.genero.focus();
			return (false);
		}
		else
		{
			for(i=0;i<=genero.length;i++)
			{
 				for(x=0;x<=texto.length;x++)
				{
					if(genero.charAt(i)==texto.charAt(x))
					{
						alert("CARACTERES INVÁLIDOS NO CAMPO GENERO");
						document.form.genero.focus();
						return (false);
					}
				}
			}	
		}
	}
	return (true);
}
</SCRIPT>

 

 

Deve existir alguma forma + simples, se alguem souber por favor me diga.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom acho que a logica do valida email podia ser aplicada, exemplo:

 

function validaemail(email) {
  var objRegExp  = /^[A-Za-z]([\w\.]*)@([A-Za-z0-9\.]*)\.(([A-Za-z]{3}\.[A-Za-z]{2}$)|([A-Za-z]{3}$)|([a-z]{2}$))/i;
  return objRegExp.test(email);
}

 if(validaemail(form.email.value)) {
  alert("Formato Valido!");
 }
 else {
  form.email.select();
  alert("Formato Invalido!");
 }

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.