取消屏蔽日期时间-输入掩码

时间:2018-10-05 16:43:16

标签: javascript input-mask

使用Inputmask原始js版本。

解开日期时间格式时遇到问题:

var expDate = document.getElementById('expDate');

Inputmask({
    alias: 'datetime',
    inputFormat: 'mm/yy',
    placeholder: 'month/year',
    autoUnmask: true,
    clearMaskOnLostFocus: false
}).mask(expDate);

autoUnmask不起作用,expDate.value返回12/12,尽管它应该返回1212

2 个答案:

答案 0 :(得分:1)

我创建了一个最小的示例,并且 autoUnmask 选项有效,也许与别名:'datetime' inputFormat:'mm / yy 。阅读插件网站上可用的下一个文档:

别名

使用别名,您可以定义一个复杂的掩码定义,并使用别名来调用它。因此,这主要是为了简化面罩的使用。在扩展名中发现的一些别名是:电子邮件,货币,十进制,整数,日期,日期时间,dd / mm / yyyy等。

首先,您必须创建一个别名定义。别名定义可以包含掩码的选项,自定义定义,要使用的掩码等。

传递别名时,将首先解析别名,然后应用其他选项。因此,您可以调用别名并传递另一个要应用到别名的掩码。这也意味着您可以编写从另一个别名“继承”的别名。

可以在jquery.inputmask.xxx.extensions.js中找到一些示例

格式

除了屏蔽输入元素外,还可以使用inputmask格式化给定值。考虑将值格式化为显示在jqGrid或其他元素上,然后再输入。

var formattedDate = Inputmask.format(“ 2331973”,{别名:“ datetime”,inputFormat:“ dd / mm / yyyy”});

就像您看到的那样, datetime 是已定义的别名(您可以在 inputmask.date.extensions.js 上检查定义),而inputFormat用于其他目的。在下一个示例中,有一个输入带有在 true 上配置的 autoUnmask 选项,另一输入的默认值是 false

// Get the inputs fields

var expDate1 = document.getElementById('expDate1');
var expDate2 = document.getElementById('expDate2');

// Apply masks on the inputs.

Inputmask({
    alias: 'date',
    autoUnmask: true,
    clearMaskOnLostFocus: false
}).mask(expDate1);

Inputmask({
    alias: 'date',
    clearMaskOnLostFocus: false
}).mask(expDate2);

// Alert values.

function getValuesFromInputs()
{
    var msg = "Value of Input1 with autoUnmask=true: " + expDate1.value;
    msg += "\n"
    msg += "Value of Input2 with autoUnmask=false: " + expDate2.value;

    alert(msg);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/dependencyLibs/inputmask.dependencyLib.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/inputmask/inputmask.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/inputmask/inputmask.extensions.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/inputmask/inputmask.date.extensions.js"></script>

<input type="input" id="expDate1"/>
<input type="input" id="expDate2"/>
<button type="button" onclick="getValuesFromInputs()">Get Values</button>

答案 1 :(得分:0)

outputFormat: ddmm可以满足我的需求,但是此插件的文档中未提及。