jquery 取消屏蔽空电子邮件

rekjcdws  于 2022-11-03  发布在  jQuery
关注(0)|答案(2)|浏览(108)

我使用的是RobinHerbots/jquery.输入掩码库。
库返回空值_@_._。您可以尝试demo。以下是我的代码。
于飞:

<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'));
});
jdzmm42g

jdzmm42g1#

由于它仍然获取给定的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 Fiddle,供您进一步参考:http://jsfiddle.net/7o5sn8bf/
希望这对你的案子有帮助。
PS:不过我建议如果你只对[email inputs]应用[auto mask inputs] https://github.com/RobinHerbots/Inputmask的话,不要导入给定的掩码库插件

ggazkfy8

ggazkfy82#

最后我找到了没有regexp等的解决方案。看起来像库有错误,autoUnmask不工作。重新定义onUnMask给予正确的结果。
JS代码在这里:

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

这里是固定的demo

相关问题