正規表現により、テキスト ボックスの入力が数値のみに制限されます。
著者:Eve Cole
更新時間:2009-06-20 16:52:58
フォームを作成するときに、テキスト ボックスの入力内容の種類を制限する必要があることがよくあります。以下では、正規表現を使用して、テキスト ボックスの入力を数字、小数点、英字、漢字、その他のコードのみに制限します。
1. テキストボックスに入力できるのは数字コードのみです(小数点も入力できません)
<input onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')">
2. 入力できるのは数字のみで、小数点も入力できます。
<input onkeyup="if(isNaN(値))execCommand('undo')" onafterpaste="if(isNaN(値))execCommand('undo')">
<input name=txt1 onchange="if(/D/.test(this.value)){alert('数字のみ入力可能');this.value='';}">
3. 数値と小数点の計算方法 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. 入力できるのは文字と漢字のみです
<input onkeyup="value=value.replace(/[d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[d] /g,''))" maxlength=10 name="数値">
5. 入力できるのは英数字のみで、漢字は入力できません。
<input onkeyup="value=value.replace(/[^w./]/ig,'')">
6. 入力できるのは数字と英語のみです
<input onKeyUp="value=value.replace(/[^d|chun]/g,'')">
7. 小数点以下は最大 2 桁までです(数字と漢字の両方を入力できます)。文字と算術記号は入力できません。
<input onKeyPress="if((event.keyCode<48 ||event.keyCode>57)&&event.keyCode!=46 || /.dd$/.test(value))event.returnValue=false ">
8. 小数点以下 2 桁まで(数字、文字、漢字が入力可能)、算術記号が入力可能です。
<input onkeyup="this.value=this.value.replace(/^(-)*(d+).(dd).*$/,'$1$2.$3')">