يقيد التعبير العادي مربع النص بحيث يقتصر على إدخال الأرقام فقط
الكاتب: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(value))execCommand('undo')" onafterpaste="if(isNaN(value))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*?$/))هذا .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="Numbers">
5. يمكن إدخال الحروف والأرقام الإنجليزية فقط، ولكن لا يمكن إدخال الأحرف الصينية.
<input onkeyup="value=value.replace(/[^w./]/ig,'')">
6. يمكن إدخال الأرقام واللغة الإنجليزية فقط
<input onKeyUp="value=value.replace(/[^d|chun]/g,'')">
7. لا يمكن أن يكون هناك سوى رقمين كحد أقصى بعد العلامة العشرية (لا يمكن إدخال كل من الأرقام والأحرف الصينية):
<input onKeyPress="if((event.keyCode<48 || events.keyCode>57) && events.keyCode!=46 || /.dd$/.test(value))event.returnValue=false ">
8. يمكن أن يكون هناك ما يصل إلى رقمين فقط بعد العلامة العشرية (يمكن إدخال الأرقام والحروف والأحرف الصينية)، ويمكن إدخال الرموز الحسابية:
<input onkeyup="this.value=this.value.replace(/^(-)*(d+).(dd).*$/,'$1$2.$3')">