2016-11-22 82 views
0

有沒有辦法在jQuery中定義一個數字間隔(假設在1900到2016之間),只能輸入到文本輸入字段?如何驗證輸入到文本輸入字段的時間間隔

據我所知,我不得不使用input type =「text」,因爲number字段不能用於jQuery鍵盤。此外,還需要通過虛擬鍵盤和真實鍵盤輸入數值(請參閱http://generace.forbes.cz/),並且每次用戶嘗試提交表單時都要檢查數字間隔。

+4

凡有意願,有辦法。你的企圖在哪裏? –

+0

您可以使用模式屬性來查看輸入是否與正則表達式匹配。 – VSO

+0

我不認爲有辦法限制輸入。但你可以驗證輸入 –

回答

1

這是我可以做到的最多,而不做任何骯髒的工作。

https://jsfiddle.net/mankinchi/uupytLh2/

pattern="\d{4}" 

if ((number < 1900) || (number > 2016)) 

此使用具有圖案以檢查的組合(只4位提交時)和JavaScript(我使用的jQuery)來檢查數範圍。這種組合可以讓你不用搞亂低級模式(限制輸入的確切位數)。

但是,如果您仍想限制用戶輸入,而不是後來檢查,您仍然可以使用oninput並手動限制下一個可能的選項。

+0

謝謝,這個和jQuery Validate腳本一起工作得很好,見下文。 – Machi

0

有一個jQuery驗證插件https://jqueryvalidation.org/非常適合這個。

只需將它嵌入和使用:

$("#year_form").validate({ 
    lang: 'cs', 
    rules: { 
     year: { 
     required: true, 
     min: 1910, 
     max: 2016 
    } 
    } 
});