Questo codice fa il conto all'indietro dei caratteri che rimangono però conta anche gli spazi, come faccio a fargli contare solo i caratteri?

codice:
//Caratteri max inseribili 
function conta(val){
max=500
if (val.messaggio.value.length > max){
val.messaggio.value = val.messaggio.value.substring(0,max)
rest = 0
alert("Fine caratteri Max inseribili");
} 
else{
rest = max - val.messaggio.value.length
}
val.num.value = rest
 }