quello che ti ho postato è codice php, quindi lo fai sui dati ricevuti ad esempio in $_POST.

Per javascript mi sono scritto questa funzione:

codice:
function restricted(e, allowed_chars) {
  if(debug) log(e);
  key = (e.charCode) ? e.charCode : e.which;

  if(debug) log("restricted\nkey_code:"+key);

  if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true;

  keychar = String.fromCharCode(key);
  if(debug) log("keychar:"+keychar);

  // numbers
  if(((allowed_chars).indexOf(keychar) > -1)) {
    if(debug) log('OK');
    return true;
  }

  if(debug) log('KO');
  return false;
}
dopodichè l'associo all'evento keypress, passando una stringa contenente i caratteri validi (la uso più che altro per campi che utilizzano solo numeri, per il tuo caso fai prima a modificarla in modo che non accetti i caratteri che vuoi tu.

ciao

edit:lascia perdere i riferimenti alla funzione log e alla variabile debug, che è una funzione che uso per fare debug.