2017-10-29 7 views
0

私はRobinHerbots/jquery.inputmaskライブラリを使用しています。jquery.inputmask空のメールのマスクを解除する

ライブラリは空の値のために[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:それは与えられたautomask email patternを得る静止画として

$("#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

を見て、私が推薦する回避策の一つは、与えられたregex patternを見つけて、空にそれを交換することです文字列。これは、指定された値が空の文字列かメモかを取得してチェックするためです。

考える例:これはあなたのケースのために役立ちますhttp://jsfiddle.net/7o5sn8bf/

希望:

$("#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フィドルです。

PS:私だけhttps://github.com/RobinHerbots/Inputmask

+0

申し訳ありませんが、それはkludgeのようなもので、 'email'マスクにのみ適用されます。他のマスクについては 'regex pattern'を修正する必要があります。どのようにも助けてくれてありがとう。 –

0

最後に、私は正規表現せずに解決策を見つけたとなど、あなたが[電子メールの入力]を[オートマスク入力]を適用している場合は、その大丈夫与えられたマスク・ライブラリのプラグインをインポートしていないことを示唆しているもののライブラリが盗まれているように見え、autoUnmaskは機能しません。 Redifine onUnMask正しい結果を返します。ここ

JSコード:ここで

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

demoに固定されています。

+0

正しいメールアドレスでは機能しません。 '@'と '.'記号は削除されます。 –

関連する問題