Ir ao conteúdo

Posts recomendados

Postado

oi alguém pode me ajudar a fazer com que o input não receba numeros eu dei uma pesquisada e fiz dessa maneira mas não to conseguindo fazer dar certo

const form = document.getElementById('form')
const firstname = document.getElementById('firstname')

function checkInputs(){
    const firstnameValue = firstname.value.trim()
    const keyCode = (e.keyCode ? e.keyCode : e.which);
	
	if(firstnameValue === ''){
        errorValidation(firstname, "Preencha essa campo :(")

    } else if (keyCode > 47 && keyCode < 58){
        errorValidation(firstname, "apenas letras")
    }
    else{
        successValidation(firstname)
    }
           
           }

 

  • Moderador
Postado

@dev aleatorio  Quase isso. O ideal é você usar expressão regular. Desta forma:

 

<input type="text" id="campoTexto" onkeypress="return apenasLetras(event);" />
<span id="msgErro"></span>

 

function apenasLetras(e) {
        var keyCode = e.keyCode || e.which;
 
        var msgErro = document.getElementById("msgErro");
        msgErro.innerHTML = "";
 
        //Expressão regular para validar apenas letras
        var regex = /^[A-Za-z]+$/;
 
        //Valida o valor da caixa de texto testando a expressão regular.
        var isValid = regex.test(String.fromCharCode(keyCode));
        if (!isValid) {
            msgErro.innerHTML = "Apenas letras são aceitas.";
        }
 
        return isValid;
    }

 

Veja funcionando: https://jsfiddle.net/dife/9chwosaz/

  • Moderador
Postado

@dev aleatorio 

16 horas atrás, dev aleatorio disse:

tem que ser no html mesmo ? n tem como ir para o js

Sim, você pode usar no código javascript também...  tanto faz.  Usar no  elemento, economiza linha no código javascript.

 

Por exemplo usando o jQuery(pois acho mais fácil lidar com o jQuery. Além disso, reduz bastante o código e deixa mais elegante e fácil de entender.

<input type="text" id="campoTexto" />
<span id="msgErro"></span>

 

Jquery:

$(document).ready(function(){
   let campoTexto = $("#campoTexto");
   
   campoTexto.keypress(function(e) {
      let keyCode = e.keyCode || e.which;
 
        let msgErro = $("#msgErro");
        msgErro.html("");
 
        //Expressão regular para validar apenas letras
        let regex = /^[A-Za-z]+$/;
 
        //Valida o valor da caixa de texto testando a expressão regular.
        let isValid = regex.test(String.fromCharCode(keyCode));
        if (!isValid) {
            msgErro.html("Apenas letras são aceitas.");
        }
 
        return isValid;
   });
});

 

Em funcionamento: https://jsfiddle.net/dife/9chwosaz/2/

  • Moderador
Postado

@dev aleatorio O que ficou confuso?  Mesmo que tenha outros códigos, você não deve misturar eles.. pode colocar qtos códigos js você quiser que não vai ter conflito nenhum. 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!