Ir para conteúdo

POWERED BY:

Arquivado

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

cg-auto

[Resolvido] Como garantir apenas letras e números

Recommended Posts

Boa noite, Galera.

 

Minha questão é, como posso garantir que um usuário vá só entrar num campo com letras e números?

 

 

Desde já deixo meu agradecimento. Grande abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<html>
	<head>
		<title>Exemplo</title>
		<script type="text/JavaScript">
				adicionaEvento(window, 'load', function(){
					var dInputs = document.getElementsByTagName("input");
					var dIpuntsSize = dInputs.length;
					for(var i = 0;i < dIpuntsSize;i++){
						if(dInputs[i].getAttribute("type").toLowerCase() == 'text'){
							adicionaEvento(dInputs[i], 'keypress', function(e){
								var keyCode = e.which? e.which : event.keyCode;
								if(keyCode == 0 || keyCode == 16) return;
								var valor = this.value;
								var er = this.getAttribute("er");
								er = er? new RegExp(er) : /^[a-z0-9\s]*$/i;
								if(valor.match(er)){
									this.style.border = "1px solid #00ff00";
								} else {
									this.style.border = "1px solid #ff0000";
								}
							}, false);
						}
					}
				}, false);

		function adicionaEvento(elemento, evento, funcao, bool){
			bool = (bool == null)? false : bool;
			if(elemento.addEventListener)
				elemento.addEventListener(evento, funcao, bool);
			else
				elemento.attachEvent('on' + evento, funcao);
		}
		</script>
	</head>
	<body>
		 Nome:<input type="text" name="nome" /><br />
		 Idade:<input type="text" name="idade" er="\s|[0-9]*" />
	</body>

Foi só um exemplo didático...implemente o seu melhor e do jeito que desejar.

Lembre-se também de nunca confiar apenas em validações client-side.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, beleza eibon? Cara, deu carto aqui.. Peguei a idéia do ER que você postou e fiz de uma forma bem mais simplificada.

 

Algo do tipo:

<script type="text/JavaScript">
	function teste(){
		var re = /^[A-Za-z0-9]+$/i;
		if (re.test(document.form1.user.value)){
			document.form1.user.style.border = "1px solid #00FF00";
		}
		else
		{
			document.form1.user.style.border = "1px solid #FF0000";
		}
	}
</script>

Como falei, bem mais simples :D mas aprovei a idéia.... Valeu!

Agora é só implementar mais umas questões de segurança.. :D

 

 

Grande abraço.

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.