jquery.inputmask取消屏蔽空电子邮件

时间:2017-10-29 00:33:25

标签: jquery

我正在使用RobinHerbots / jquery.inputmask库。

库返回_@_._空值。 您可以尝试demo。这是我的代码。

HTML:

<input type="text" id="email" autocomplete="off">
<button type="button" id="unmask">Unmask</button><br>
Value: '<span id="val"></span>'<br>
Unmasked value: '<span id="unmasked"></span>'

JS:

$("#email").inputmask('email');
$("#email").inputmask({'autoUnmask': true});

$("#unmask").click(function(){
    $("#val").text($("#email").val());
    $("#unmasked").text($("#email").inputmask('unmaskedvalue'));
});

2 个答案:

答案 0 :(得分:0)

看到它仍然得到给定的automask email pattern,我建议的一个解决方法是找到给定的regex pattern并将其替换为空字符串。这是为了获取并检查给定值是否为空字符串或注释。

举例:

$("#email").inputmask('email');
$("#email").inputmask({
    'autoUnmask': true
});

$("#unmask").click(function() {
    var oEmailText = $("#email");
    $("#val").text(oEmailText.val());
    $("#unmasked").text(oEmailText.val());
    var sInitialValue = $.trim(oEmailText.val()).replace(/^[\s_@.]+$/g, '');

    $("#unmasked").text(sInitialValue);
    if ($.trim(sInitialValue) === '') {
        alert('Empty value');
        return false;
    }
});

这里有一个JS小提琴,供进一步参考:http://jsfiddle.net/7o5sn8bf/

希望这有助于您的情况。

PS:虽然如果你只为[电子邮件输入]应用[自动屏蔽输入],我建议可以不导入给定的掩码库插件{/ 3}}

答案 1 :(得分:0)

最后我找到了没有正则表达式等的解决方案。看起来像库有bug并且autoUnmask不起作用。 Redifine onUnMask给出了正确的结果。

这里的JS代码:

$("#email").inputmask("email", { onUnMask: function(maskedValue, unmaskedValue) {
    return unmaskedValue;
}});

此处已修复demo