jquery.inputmask 3.3.4 的日期时间格式错误?

Posted

技术标签:

【中文标题】jquery.inputmask 3.3.4 的日期时间格式错误?【英文标题】:datetime format bug for jquery.inputmask 3.3.4? 【发布时间】:2017-07-20 06:57:45 【问题描述】:

当我将 jquery.inputmask 插件从 3.3.1 升级到 3.3.4 时,我注意到掩码的日期时间格式发生了变化。

// in version 3.3.1
$("#textbox").inputmask("y-m-d");
$("#textbox").inputmask("h:s");

// in version 3.3.4
$("#textbox").inputmask("yyyy-mm-dd");
$("#textbox").inputmask("hh:mm");

在v3.3.4中,字母“m”用于“月”和“分钟”,一些掩码定义可能会导致冲突,例如

$("#textbox").inputmask("yyyy-mm-dd hh:mm"); // ERROR! can't input anything into textbox 
$("#textbox").inputmask("mm/dd/yyyy hh:mm xm"); // but this works fine

这个问题只发生在jquery.inputmask 3.3.4

这是一个错误吗?我怎样才能使掩码"year-month-day hour:minute" 在我的页面中工作?

【问题讨论】:

【参考方案1】:

在深入研究源代码后,您似乎可以使用 Inputmask.extendAliases 为您的特定用例添加自定义别名来纠正错误:

Inputmask.extendAliases(
  "yyyy-mm-dd hh:mm": 
    mask: "y-1-2 h:s",
    placeholder: "yyyy-mm-dd hh:mm",
    alias: "datetime",
    separator: "-"
  
)

$("#textbox").inputmask("yyyy-mm-dd hh:mm")
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://rawgit.com/RobinHerbots/Inputmask/3.x/dist/jquery.inputmask.bundle.js"></script>

<input id="textbox" type="text">

【讨论】:

以上是关于jquery.inputmask 3.3.4 的日期时间格式错误?的主要内容,如果未能解决你的问题,请参考以下文章

RobinHerbots jquery.inputmask 日期范围

范围 0-100 使用 jQuery inputmask 插件

JQuery Inputmask 不显示分隔符

使用 jquery.inputmask 插件进行 parsley.js 验证

jQuery inputmask 对字符数没有限制

Jquery inputmask 大小写大小写