Ein regulärer Ausdruck beschränkt das Textfeld auf die Eingabe von Zahlen
Autor:Eve Cole
Aktualisierungszeit:2009-06-20 16:52:58
Beim Erstellen von Formularen müssen wir häufig die Art des Eingabeinhalts im Textfeld einschränken. Im Folgenden verwenden wir reguläre Ausdrücke, um das Textfeld nur auf die Eingabe von Zahlen, Dezimalpunkten, englischen Buchstaben, chinesischen Schriftzeichen und anderen Codes zu beschränken.
1. In das Textfeld können nur numerische Codes eingegeben werden (Dezimalstellen können ebenfalls nicht eingegeben werden)
<input onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')">
2. Es können nur Zahlen eingegeben werden, Dezimalstellen können eingegeben werden.
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
<input name=txt1 onchange="if(/D/.test(this.value)){alert('Nur Zahlen können eingegeben werden');this.value='';}">
3. Zahlen und Dezimalpunktmethode 2
<input type=text t_value="" o_value="" onkeypress="if(!this.value.match(/^[+-]?d*?.?d*?$/))this .value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[+-]?d+(?:.d+)?)?$ /))this.o_value=this.value" onkeyup="if(!this.value.match(/^[+-]?d*?.?d*?$/))this.value =this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[+-]?d+(?:.d+)?)?$/) )this.o_value=this.value" onblur="if(!this.value.match(/^(?:[+-]?d+(?:.d+)?|.d* ?)?$/))this.value=this.o_value;else{if(this.value.match(/^.d+$/))this.value=0+this.value;if(this.value .match(/^.$/))this.value=0;this.o_value=this.value}">
4. Es können nur Buchstaben und chinesische Schriftzeichen eingegeben werden
<input onkeyup="value=value.replace(/[d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[d] /g,''))" maxlength=10 name="Numbers">
5. Es können nur englische Buchstaben und Zahlen eingegeben werden, chinesische Zeichen können jedoch nicht eingegeben werden.
<input onkeyup="value=value.replace(/[^w./]/ig,'')">
6. Es können nur Zahlen und Englisch eingegeben werden
<input onKeyUp="value=value.replace(/[^d|chun]/g,'')">
7. Nach dem Komma dürfen maximal zwei Ziffern stehen (es können weder Zahlen noch chinesische Zeichen eingegeben werden):
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /.dd$/.test(value))event.returnValue=false ">
8. Nach dem Dezimalpunkt dürfen nur bis zu zwei Ziffern stehen (Zahlen, Buchstaben und chinesische Schriftzeichen können eingegeben werden) und arithmetische Symbole können eingegeben werden:
<input onkeyup="this.value=this.value.replace(/^(-)*(d+).(dd).*$/,'$1$2.$3')">