使用美国日期的日期时间输入的 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 输入掩码的主要内容,如果未能解决你的问题,请参考以下文章