Ir para conteúdo

POWERED BY:

Arquivado

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

Crossdaline

[Resolvido] Restringir carácteres...

Recommended Posts

Eu não quero que o usuário escreva caracteres especiais, veja o código atual:

 

<script>
function validaUSUARIO(valor,elementoID){
    if(valor.search(/^[a-zA-Z0-9_\-]{4,28}$/i) == -1 && valor.length > 3) {
       valor = valor.substring(0, (valor.length - 1));
       document.getElementById(elementoID).value = valor;
    }
}
</script>

<form method="post">
   <input type="text" value="" name="valor" id="valor" onKeyPress="validaUSUARIO(this.value,'valor');">
</form>

Quero que ele só possa digitar de a-z, 0-9, _ ou -

 

Com no mínimo 4 carácteres e no máximo 28. Alguém me ajuda a melhorar este código, ele funciona, só que tá cheio de bugs. Tipo, eu digito um caracter especial como # e não acontece nada, e quando eu digito qualquer coisa ele conserta. Quero fazer com que quando ele digite qualquer caracter especial, já elimine-o logo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi se a virgula ( , ) pode tb.. em todo caso, mais uma ER pro sisteminha:

 

<html>
<head>
<script type="text/javascript">
/* Máscaras ER */
function mascara(o,f){
    v_obj=o;
    v_fun=f;
    setTimeout("execmascara()",1);
}
function execmascara(){
    v_obj.value=v_fun(v_obj.value);
}
function mvalidos(v){
    v=v.replace(/([^a-z0-9_-])/ig,"");
    return v;
}
</script>
</head>
<body>
	<form action="" method="post">
	   <input type="text" value="" name="valor" id="valor" onkeypress="mascara( this, mvalidos );" maxlength="28" />
	</form>
</body>
</html>

http://code.imasters.com.br/index.php?/topic/109-mascaras-enquanto-digita-er/

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.