做表單驗證的時候是否會碰到驗證某個輸入框內只能填寫數字呢,僅允許輸入整數數字或者帶小數點的數字。下面這段代碼也許能幫到你!通過對當前輸入框定義onkeypress,onkeyup,onblur事件對表單做了充分的驗證,結果還是非常靠譜的。
復制代碼 代碼如下:
<input 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 事件會在對象失去焦點時發生。
另外需要注意的是如果需要做嚴格驗證的表單,一定要客戶端和服務器端進行雙重驗證,以上緊緊做了客戶端驗證。如果稍微懂點程序的人,能夠很輕松的繞過這段驗證代碼,如果服務器端沒有進行驗證的話,就很容易出問題的。
以上所述就是本文的全部內容了,希望大家能夠喜歡。