diese Frage wurde bereits gestellt, aber die Lösungen waren nicht klar.
Ich benutze Josh Bushs MaskedInput-Plugin für jQuery
Was ich versuche zu erreichen, ist:
Zum Beispiel: eine Telefoneingabe mit der Maske
$("#txtPhone").mask("(99)9999-9999");
EQUALS: (00) 9398-8373
ich möchte es einreichen: 0093988373
------ Ist es möglich, die .mask beim Senden zu entfernen, aber den Wert beizubehalten?
Ich denke du willst unmask
benutzen
$("#myForm").submit(function() {
$("#txtPhone").unmask();
});
Setzen Sie removeMaskOnSubmit beim Initialisieren der Eingabemaske auf true
$("#txtPhone").inputmask({removeMaskOnSubmit: true});
Basierend auf Plugin Site :
$("#txtPhone").val($("#txtPhone").mask());
demaskierung ist keine Funktion. Dies ist meine Art zu benutzen. autoUnmask: true
$('#amount').inputmask('999.999.999.999', {
numericInput: true,
autoUnmask: true,
});
Wenn Sie den abgeschlossenen Rückruf verwenden, können Sie einfach Folgendes verwenden:
$(element).mask("(99)9999-9999", {
completed : function () {
var numbers = this.val().replace(/()-/g,'');
}
}
Andernfalls können Sie Folgendes verwenden:
$(element).val().replace(/()-/g,'');
Wenn Sie dies vor dem Absenden tun möchten, empfehle ich, das Absendeereignis zu erfassen, den Code direkt darüber zu verwenden und dann das Formular abzusenden.
EDIT: Alex Peattie wies auf die Funktion unmask()
hin, die ich sagen muss, ist eine viel bessere Lösung als meine. Ich werde meine Antwort hier lassen, aber ich würde mit seiner Lösung gehen.
Angenommen, Sie haben mehr als eine Eingabe übermittelt, können Sie Folgendes verwenden:
// unmask all inputs, before savinf;
$(FormObj+" input[type=text]").each(function() {
$(this).unmask();
});
dabei ist FormObj Ihre Formularobjekt-ID, z. B. #form.
Sie können den Rohwert einer maskierten Eingabe auch mit extrahieren
$("#YourSelector").data( $.mask.dataName )();
Quelle: https://github.com/digitalBush/jquery.maskedinput/issues/318
Beispiel
Wenn Sie eine phone
Eingabe mit einer solchen Maske verwenden:
$(".phone").mask("99 99 99 99 99")
sie können die Benutzereingaben extrahieren mit:
$(".phone").data($.mask.dataName)()
// will produce "0102030405" while the masks displays 01 02 03 04 05