1. 程式人生 > >解決input只能輸入正浮點數限制

解決input只能輸入正浮點數限制

測試給提了個要求,要求充值金額輸入框裡面只能輸入正的浮點數,當輸入其他內容時自動重置輸入框.

1.這時我們首先想到正則表示式

2.想到兩個方法onblur和onkeydown方法 這裡我們採用blur當輸入框失去焦點時執行判斷,至於為什麼請參考輸入框的事件監聽.

首先正則表示式判斷一個非負浮點數:^\d+(\.\d+)?$  還不懂得同學去學習一下正則表示式 這裡就不闡述了.

下面給出程式碼:

			<input type='number' onblur="if (!/^\d+(\.\d+)?$/.test(this.value)){this.value='';}" step="0.01"/>

當完成輸入onblur方法執行,

if (!/^\d+(\.\d+)?$/.test(this.value))

判斷input裡的值是否是非負浮點數

this.value='';

若不是則設定input裡的值為"",相當於重置輸入框裡的內容.