有没有办法在jQuery中定义一个数字间隔(比如1900到2016之间),只能 输入到文本输入字段?
据我所知,我必须使用input type =“text”,因为数字字段不能用于jQuery键盘。此外,还需要通过虚拟和真实键盘输入值(请参阅http://generace.forbes.cz/),并且每次用户尝试提交表单时都要检查数字间隔。
答案 0 :(得分:1)
在没有做任何肮脏工作的情况下,这是我能够做到的最多。
https://jsfiddle.net/mankinchi/uupytLh2/
pattern="\d{4}"
if ((number < 1900) || (number > 2016))
这使用具有模式的组合来检查(仅在提交时为4位)和javascript(我使用jquery)来检查数字范围。该组合将允许您不要处理低级别的模式(限制要输入的确切数字)。
但是,如果您仍想限制用户输入,而不是之后检查,您仍然可以使用oninput并手动限制下一个可能的选项。
答案 1 :(得分:0)
有一个jQuery Validation插件https://jqueryvalidation.org/非常适合这个。
只需嵌入并使用:
$("#year_form").validate({
lang: 'cs',
rules: {
year: {
required: true,
min: 1910,
max: 2016
}
}
});