Olá, desejo criar um formulário e que em um dos campos apenas seja aceite o valor digitado caso sejam apenas letras.
Tentei fazer o tratamento dos dados, porém ainda não encontrei uma maneira de evitar o uso de caracteres especiais como $%&*. Como posso fazer isso?
Escrevi esse Pen para melhor exemplificação do problema.
HTML
<form class="form">
<label for="name">Qual o seu nome?</label>
<input type="text" name="name" id="name" placeholder="Digite o seu nome">
<button class="btn">Enviar</button>
</form>
JS
let form = document.querySelector(".form");
let btn = document.querySelector(".btn");
btn.addEventListener("click", (event) => {
event.preventDefault();
checkName(form);
});
function checkName(form) {
let name = form.name.value;
if (!isNaN(name) && name.length == 0) {
console.log("Digite um nome válido.");
} else {
console.log(name);
}
}