【问题标题】:How to validate an interval entered to a text input field如何验证输入到文本输入字段的间隔
【发布时间】:2016-11-23 05:53:34
【问题描述】:

有没有办法在 jQuery 中定义一个可以输入到文本输入字段的数字间隔(比如说 1900 年到 2016 年之间)?

据我了解,我必须使用 input type="text" 因为数字字段不能用于 jQuery 键盘。此外,需要通过虚拟和真实键盘输入值(请参阅http://generace.forbes.cz/),并且每次用户尝试提交表单时都要检查数字间隔。

【问题讨论】:

  • 有志者事竟成。你的尝试在哪里?
  • 可以使用pattern属性查看输入是否匹配正则表达式。
  • 我认为没有办法限制输入。但是您可以在之后验证输入
  • @TreeNguyen:这可能是真的,难道你没有一些简单的 sn-p(可能是 jQuery)可以做到这一点吗?谢谢
  • each time user tries to submit the form 表示您不想提交表单?如果您打算使用 PHP,那么在这种情况下您将需要 AJAX。

标签: javascript php jquery html


【解决方案1】:

这是我在不做任何脏活的情况下所能达到的最远距离。

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

pattern="\d{4}"

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

这结合了检查模式(仅在提交时为 4 位)和 javascript(我使用 jQUery)来检查数字范围。该组合将使您不会在低级别中弄乱模式(限制要输入的确切数字)。

但是,如果您仍然想限制用户输入,而不是事后检查,您仍然可以使用 oninput 并手动限制下一个可能的选项。

【讨论】:

  • 谢谢,这个和 jQuery Validate 脚本一起工作得很好,见下文。
【解决方案2】:

有一个 jQuery 验证插件 https://jqueryvalidation.org/ 非常适合这个。

只需嵌入并使用:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    相关资源
    最近更新 更多