Estava precisando retirar um simples espaço de um campo de formulário de login, que acabava invalidando a configuração correta do formulário, mas queria fazer isso antes de enviar, não queria processar e limpar o formulário depois. Dando uma busca acabei achando uma solução simples e prática pra fazer isso.
Basta usar o simples onkeyup dentro do input com um pouco de regular expression (preciso aprender mais sobre isso) e está tudo resolvido. Abaixo alguns exemplos:
// remove o 'espaço' ao digitar no input text
onkeyup="this.value=this.value.replace(/[' ']/g,'')"
// exemplo completo
<input onkeyup="this.value=this.value.replace(/[' ']/g,'')" type="text" name="login" />
// exemplo removendo outros caracteres como acentos
<input onkeyup="this.value=this.value.replace(/[' 'çÇáÁàÀéèÉÈíìÍÌóòÓÒúùÚÙñÑ~@&]/g,'')" type="text" name="login" />
// Permite apenas alfabeto maiúscula e minuscula de A a Z
<input type="text" onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')" />
// Segunda opção
<input type="text" onkeyup="value=value.replace(/[^a-zA-Z]/g,'')" />
Não é a melhor solução, mas quebra o galho pra algo mais simples.