2016-11-22 78 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 
    } 
    } 
});