Ir para conteúdo

POWERED BY:

Arquivado

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

Beto Lima

bloquear acentos no input text

Recommended Posts

Alguém sabe como faz para bloquear acentos e caracteres especiais no input text?

 

minha intenção é cadastrar usuários, mas não quero que o usuario crie nomes com caracteres especiais (@$#%&*;><~^´`) nem acentos (çáàâã)

 

Entendem?

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da uma procurada aqui no fórun que você acha de monte isso, eu mesmo já responde aguns se nao em engano.

Se nao achar nd voltei aqui que resolvemos facil facil isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Beto Lima,

 

Bem, montei uma função rápida pra você...

tem uma forma mais curta de resolver com Expressões regulares, mas essa funciona bem...

 

seu input:

<input type="text" name="texto" id="texto" onKeyDown="return filtro()">

sua função java script:

<script>
function filtro(){
	var e=event.keyCode;
	
	if (event.shiftKey == false){
		if (e==8 || e==32 || e==35 || e==36 || e==46 || (e>=48 && e<=57) || (e>=65 && e<=90) || (e>=96 && e<=105)){
			return true;
		}else{
			return false;
		}
	}else{
		return false;
	}
}
</script>

Se resolveu ou o problema persistir, envie um post...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem sim cara o event.keyCode funciona com o IE para os outros navegadores é e.which, dai seu script fica assim

var e=event.keyCode || e.which;

vlw ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem sim cara o event.keyCode funciona com o IE para os outros navegadores é e.which, dai seu script fica assim

var e=event.keyCode || e.which;

vlw ;)

 

estranho, testei agora no firefox e continua aceitando acentos e caracteres especiais....

 

meu cód ta assim

 

<html>
<head>
<script>
function filtro(){
		
	var e=event.keyCode || e.which;
	
	if (event.shiftKey == false){
		if (e==8 || e==32 || e==35 || e==36 || e==46 || (e>=48 && e<=57) || (e>=65 && e<=90) || (e>=96 && e<=105)){
			return true;
		}else{
			return false;
		}
	}else{
		return false;
	}
}
</script>
<body>
<input type="text" name="texto" id="texto" onKeyDown="return filtro();">
</body>
</head>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça assim:

<html>
<head>
<script>
function filtro(e){
		
	var tecla=e.keyCode || e.which;
	
	if (event.shiftKey == false){
		if (tecla ==8 || tecla ==32 || tecla ==35 || tecla ==36 || tecla ==46 || (tecla >=48 && tecla <=57) || (tecla >=65 && tecla <=90) || (tecla >=96 &&	   
		 tecla <=105)){
			return true;
		}else{
			return false;
		}
	}else{
		return false;
	}
}
</script>
<body>
<input type="text" name="texto" id="texto" onKeyDown="return filtro(event);">
</body>
</head>
</html>

espero que da certo agora

Compartilhar este post


Link para o post
Compartilhar em outros sites

No firefox ainda continua mostrando acentos....

Mas consegui de outra forma, um outro script que testei em fire + opera + IE e funcionou em todos.

 

segue o script

 

//FUNÇÃO SEM ACENTO
function sem_acento(e,args)
{		
	if (document.all){var evt=event.keyCode;} // caso seja IE
	else{var evt = e.charCode;}	// do contrário deve ser Mozilla
	var valid_chars = '0123456789abcdefghijlmnopqrstuvxzwykABCDEFGHIJLMNOPQRSTUVXZWYK-_'+args;	// criando a lista de teclas permitidas
	var chr= String.fromCharCode(evt);	// pegando a tecla digitada
	if (valid_chars.indexOf(chr)>-1 ){return true;}	// se a tecla estiver na lista de permissão permite-a
	// para permitir teclas como <BACKSPACE> adicionamos uma permissão para 
	// códigos de tecla menores que 09 por exemplo (geralmente uso menores que 20)
	if (valid_chars.indexOf(chr)>-1 || evt < 9){return true;}	// se a tecla estiver na lista de permissão permite-a
	return false;	// do contrário nega
}

<input type="text" id="qualquer" onkeypress="return sem_acento(event);"  />

Valeu a todos pela força

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.