2017-10-29 218 views
0

我正在使用RobinHerbots/jquery.inputmask庫。jquery.inputmask unmasking空電子郵件

圖書館返回[email protected]_._爲空值。 您可以嘗試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')); 
}); 
+0

這裏您的主要目標是什麼? – eeya

+0

我想獲得未被屏蔽的值,甚至輸入了空的電子郵件。 –

+0

你想得到這個期望的輸出:(例如'''')而不是'[email protected]_._'? – eeya

回答

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(/^[\[email protected]]+$/g, ''); 

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

這裏有一個JS搗鼓進一步參考:http://jsfiddle.net/7o5sn8bf/

希望這有助於爲你的情況。

PS:雖然我會建議它的好,如果不是你所申請的[自動屏蔽輸入]爲[電子郵件輸入]導入給定的掩模庫插件只https://github.com/RobinHerbots/Inputmask

+0

對不起,但它就像一個kludge,只適用於'電子郵件'面具。對於其他面具需要修復'正則表達式模式'。任何方式感謝您的幫助。 –

0

終於讓我找到解決方案,而正則表達式等。看起來像圖書館竊聽和autoUnmask不起作用。 Redifine onUnMask給出正確的結果。

JS代碼在這裏:

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

這裏是固定demo

+0

無法正確發送電子郵件。它將刪除'@'和'.'符號。 –