otra forma, sin tener que capturar el evento del navegador , es creando una "lista blanca" de caracteres, y los que no estan reemplazarlos por "".
Cita: function verif(nik){
solamente=/[^A-Za-z0-9_]/;
valor=nik.value.replace(solamente,"");
nik.value=valor;
}
y en el input:
Cita: <input name="usuariobueno" type="text" onKeyUp="verif(this)">
PD: si no queres que se incluyan tambien números, elimina la parte roja