hawkmaster: Input non alphanumeric ersetzen

Beitrag lesen

Hallo zusammen,

In einem Textfeld soll geprüft werden das nur Zahlen und Buchstaben und -_ eingegeben werden.

Ich habe es mit folgender Funktion versucht. Der Regex greift zwar, es kommt bei Falscheingabe zur Meldung, aber ich würde gerne gleich wieder das falsche Zeichen vom Textfeld löschen.
Das klappte jedoch noch nicht so ganz mit dem Return.
Mache ich ein Denkfehler?

  
<input type="text" name="txt_ordernumber" onkeyup="checkInput(this)"/>  

  
function checkInput(str){  
  var lettersnumbers = /^[0-9a-zA-Z-_]+$/;  
  if(str.value.match(lettersnumbers))  
  {  
  //all OK  
  return true;  
  }  
  else  
  {  
  alert('Please input alphanumeric characters only');  
  var newstring = str.value.replace(/\W+/g, "")  
  //alert(newstring);  
  return newstring;  
}  

vielen Dank und viele Grüße
hawk