使用美国日期的日期时间输入的 jQuery 输入掩码

Posted

技术标签:

【中文标题】使用美国日期的日期时间输入的 jQuery 输入掩码【英文标题】:jQuery Input Masks for datetime input using American dates 【发布时间】:2014-02-19 04:56:43 【问题描述】:

我正在使用 Robin Herbot 出色的 jQuery Input Masks 插件。 [https://github.com/RobinHerbots/jquery.inputmask]。 它非常完整,似乎拥有我需要的一切,但我似乎无法弄清楚一件事。

如何创建类似“mm/dd/yyyy hh:mm pm”的掩码,其中日期部分和时间部分都像“日期”和“时间”掩码一样工作?

我可以使用日期或时间,但日期时间使用欧洲 dd/mm 格式,而不是我需要的 mm/dd 格式。我已经尝试了几种排列方式,但我显然遗漏了一些东西,而且文档中的很多内容都是理所当然的。

【问题讨论】:

【参考方案1】:

jQuery Input Mask

$('#InputID').inputmask(
        mask: "2/1/y h:s t\\m",
        placeholder: "mm/dd/yyyy hh:mm xm",
        alias: "datetime",
        hourFormat: "12"
    );

检查其他别名。

【讨论】:

【参考方案2】:

去这里:http://digitalbush.com/projects/masked-input-plugin/

使用这个:

$('#InputID').mask("99/99/9999 99:99 aa");

不客气。

【讨论】:

我试过这个掩码,问题是它接受第一个字符的任何数字,而“日期”别名只知道在那里放一个 0 或 1。如果用户按 8,它会将 0 放在第一个位置,将 8 放在第二个位置。【参考方案3】:

Maskedinput 插件是日期时间类型输入的最佳解决方案 - 简单而轻量。

至于“接受任何数字”:您可以通过添加自己的规则轻松修改基础 js 库正则表达式:

definitions: 9: "[0-9]", 1: "[0-1]", 2: "[0-2]", a: "[A-Za-z]", "*": "[A-Za-z0-9]"

【讨论】:

以上是关于使用美国日期的日期时间输入的 jQuery 输入掩码的主要内容,如果未能解决你的问题,请参考以下文章

JQUERY 输入掩码可以为日期时间添加字符串吗?

使用 jQuery 掩码时日期未正确显示

使用掩码实现输入

引导输入掩码无法工作,控制台中未显示错误

需要根据 jquery 中的文化具有日期掩码

在表单上使用 jquery 日期选择器将用户输入转换为整数日期