jQuery zip-Maskierung für mehrere Bildformate
Ich habe eine Voraussetzungen für die Maskierung einer zip-Feld, so dass es dem klassischen 5-stellige Postleitzahl (XXXXX) oder 5 + 4-format (XXXXX-XXXX).
Konnte ich so etwas wie:
$('#myZipField').mask("?99999-9999");
aber die Komplikation rührt aus der Tatsache, dass der Bindestrich sollte nicht zeigen, wenn der Benutzer legt in nur 5 stellen.
Dies ist die beste, die ich kam mit, ist so weit - ich könnte es ausweiten auf auto-legen Sie den Bindestrich, wenn Sie legen Sie die 6-stellige aber das problem würde sein komisches Verhalten auf Löschung (konnte ich verhindern, löschen Sie den Bindestrich, aber es würde das patchen der patch und so weiter, wird es ein Alptraum):
$.mask.definitions['~']='[-]';
$("#myZipField").mask("?99999~9999", {placeholder:""});
Ist es aus der box Weg, dies zu tun oder muss ich die Rolle meines eigenen?
- Ich habe das gleiche Problem, hast du jemals herauszufinden, eine geeignete Lösung? Danke!
- nicht wirklich - ich landete Aufteilung der Felder in mehreren Textfeldern
- Dies könnte helfen: igorescobar.github.io/jQuery-Maske-Plugin
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du musst nicht verwenden Sie ein anderes plug-in. Bewegen Sie einfach die Fragezeichen, so dass anstelle von:
sollten Sie verwenden:
Nachdem alle, es ist nicht die gesamte Zeichenfolge, die optional ist, nur die
-
und weiter.Wenn Sie mit jQuery schon, es gibt wahrscheinlich Hunderte von plugins für Masken etc, zum Beispiel:
http://www.meiocodigo.com/projects/meiomask/
Also ich glaube nicht, müssten Sie die Rolle Ihrer eigenen
Diese zip-code ist eigentlich einfach, aber wenn Sie haben ein komplexeres format behandeln, ist hier, wie ist es gelöst mit dem plugin (aus dem demo-Seite):
Warum nicht das Feld transparent sein, und haben ein text-Objekt dahinter mit der form, in hell-Grau? Damit Sie sehen,#######-#### im hintergrund, und dann-rig, so dass die Buchstaben verschwinden, wie Sie Art. An diesem Punkt, es deutet darauf hin, dass Sie sollten geben Sie einen Bindestrich, wenn Sie wollen, setzen Sie die extra vier, richtig? Dann könnte man einfach rig, das Skript zu autoinsert den Bindestrich, wenn Sie mess up, und geben Sie 6 zahlen?