js限制輸入框只能輸入整數、小數


轉載:http://www.cnblogs.com/shangwd/p/4913732.html

做表單驗證的時候是否會碰到驗證某個輸入框內只能填寫數字呢,僅允許輸入整數數字或者帶小數點的數字。下面這段代碼也許能幫到你!通過對當前輸入框定義onkeypress,onkeyup,onblur事件對表單做了充分的驗證,結果還是非常靠譜的。

復制代碼 代碼如下:

type="text" value="" 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}"

下面對onkeypress,onkeyup,onblur事件做簡要的解釋。

onkeypress 事件會在鍵盤按鍵被按下並釋放一個鍵時發生。

onkeyup 事件會在鍵盤按鍵被松開時發生。

onblur 事件會在對象失去焦點時發生。

另外需要注意的是如果需要做嚴格驗證的表單,一定要客戶端和服務器端進行雙重驗證,以上緊緊做了客戶端驗證。如果稍微懂點程序的人,能夠很輕松的繞過這段驗證代碼,如果服務器端沒有進行驗證的話,就很容易出問題的。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com