Ekspresi reguler membatasi kotak teks hanya untuk memasukkan angka
Penulis:Eve Cole
Waktu Pembaruan:2009-06-20 16:52:58
Seringkali kita perlu membatasi jenis konten input di kotak teks saat membuat formulir. Di bawah ini kita menggunakan ekspresi reguler untuk membatasi kotak teks hanya memasukkan angka, titik desimal, huruf Inggris, karakter Cina, dan kode lainnya.
1. Hanya kode numerik yang dapat dimasukkan ke dalam kotak teks (titik desimal juga tidak dapat dimasukkan)
<input onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')">
2. Hanya angka yang dapat dimasukkan, koma desimal dapat dimasukkan.
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
<input name=txt1 onchange="if(/D/.test(this.value)){alert('Hanya angka yang dapat dimasukkan');this.value='';}">
3. Metode angka dan titik desimal 2
<tipe masukan=teks t_value="" o_value="" onkeypress="if(!this.value.match(/^[+-]?d*?.?d*?$/))ini .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 =ini.nilai_t;lainnya ini.t_nilai=nilai.ini;if(nilai.ini.cocok(/^(?:[+-]?d+(?:.d+)?)?$/) )ini.o_nilai=nilai.ini" onblur="if(!ini.nilai.cocok(/^(?:[+-]?d+(?:.d+)?|.d* ?)?$/))ini.nilai=ini.o_value;else{if(ini.nilai.cocok(/^.d+$/))ini.nilai=0+ini.nilai;if(ini.nilai .match(/^.$/))ini.nilai=0;ini.o_nilai=ini.nilai}">
4. Hanya huruf dan karakter Cina yang dapat dimasukkan
<input onkeyup="value=value.replace(/[d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[d] /g,''))" maxlength=10 nama="Angka">
5. Hanya huruf dan angka bahasa Inggris yang dapat dimasukkan, tetapi karakter Cina tidak dapat dimasukkan.
<input onkeyup="value=value.replace(/[^w./]/ig,'')">
6. Hanya angka dan bahasa Inggris yang bisa dimasukkan
<input onKeyUp="value=value.replace(/[^d|chun]/g,'')">
7. Hanya boleh ada maksimal dua digit setelah koma (angka dan karakter Cina tidak dapat dimasukkan).
<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /.dd$/.test(value))event.returnValue=false ">
8. Hanya boleh ada maksimal dua digit setelah koma (angka, huruf, dan karakter Cina dapat dimasukkan), dan simbol aritmatika dapat dimasukkan:
<input onkeyup="this.value=this.value.replace(/^(-)*(d+).(dd).*$/,'$1$2.$3')">