2011-03-23 98 views
0

如何創建最小長度爲4,最大5而不是0的數字輸入;數字輸入最小長度4,最大5而不是0

像你可以輸入1234但第5位不應該是0;所以沒有12340也不超過4999?


回答由https://stackoverflow.com/users/665261/billy-moon
替換(/ [^ 0-9] /, '') - >使得數字;
replace(/ ^([0-9] {4})[^ 1-9] + /,'$ 1') - >使第5位數不爲0
replace(/^[^ 0-4] /, 「」) - >使第一位數字0-4

代碼:

$('input').bind('keyup change',function(){ 
    $(this).attr({ value: $(this).attr('value').replace(/[^0-9]/,'').replace(/^([0-9]{4})[^1-9]+/,'$1').replace(/^[^0-4]/,'') }) 
}) 

回答

2

我想補充一點,驗證領域的keyup事件,並替換錯誤的輸入像這樣

$('input').bind('keyup change',function(){ 
$(this).attr({ value: $(this).attr('value').replace(/[^0-9]/,'').replace(/^([0-9]{4})[^1-9]+/,'$1') }) 
}) 
+0

這幾乎是我所需要的,它需要任何插件或需要舊的jQuery,我在v1.4.2。並替換不是功能錯誤顯示。 – flakerimi 2011-03-23 19:37:46

+0

好吧,我只是在做這個工作,只計算數字,第五個數字不能是0,但不是限制,分鐘4最多5或至少最多5 – flakerimi 2011-03-23 19:48:08

+0

我已經添加了最大長度輸入,似乎沒有問題。 – flakerimi 2011-03-23 19:53:50

0

不能設置一個「最小長度」,但可以驗證時,你想要的輸入(變化,形式提交等):

if(!input.value.test(/^\d{4}[1-9]?$/)){ 
    // fail 
} 
相關問題