Gibt es ein gutes jquery-plugin für maskierte/regex input?

Mein Bedürfnis ist einfach, ich möchte die Eingabe des Benutzers Währung Werte in einer vernünftigen Art und Weise, mit der Bedeutung:

  1. Einfügen einer Ganzzahl ergibt eine ganze Zahl, D. H. einfügen 12345 gibt 12345 und nicht 123.45
  2. Einfügen ein Bruchteil Wert ergibt den gleichen Wert, D. H. einfügen 1234.5 Erträge 1234.5 und nicht 123.45. Einfügen 1234.0 nachgeben sollten entweder 1234 oder 1234.0 oder 1234.00 - alle gültig ist, aber ich denke in der Mitte sollte die einfachste.
  3. Die Fraktion separator . muss eindeutig sein und optional. I. e. ein Benutzer kann 12345 oder der Benutzer kann 123.45. Die zwei Eingänge ergeben verschiedene Werte - siehe die ersten zwei Punkte.
  4. Die Eingabe ist keine Feste Größe. I. e. beide 123 und 1234 und 12345 und 12.3 sind gültige Eingaben.
  5. Einfügen schlechten input blockiert werden soll. Vorzugsweise durch das einfache entfernen der beanstandeten Zeichen.
  6. Eingabe von ungültigen Eingabe sollte auch blockiert werden. Was bedeutet, dass jedes Präfix eine gültige Eingabe wird erwartet, um gültig zu sein als gut. Daher die Eingabe/einfügen 123. erlaubt ist.
  7. Als bonus, die Entwickler sollten in der Lage sein, um anzugeben, dass der ganzzahlige Teil angezeigt werden, der , Aufteilung der tausenden, Millionen, etc... I. e. 1234567.8 angezeigt werden würde, wie 1,234,567.8

Den regulären Ausdruck für die Z-Eingang (weglassen des Komma-Sache) wäre /^[1-9]\d*(\.\d{0,2})?$/ (beachten Sie, dass . darf das Letzte Zeichen).

Nun, ich habe versucht, mehrere jQuery-plugins, die zu sein scheinen die beliebtesten auf dem web. Leider, weder das eine passt die Rechnung:

Sind meine Einschränkungen so außergewöhnlich? Ich denke nicht so. Kann jemand empfehlen, eine alternative zu den untersuchten plugins befriedigen würde alle Einschränkungen?

Dank.

BEARBEITEN

Implementierung von Robin Herbots - https://github.com/RobinHerbots/jquery.inputmask. Scheint sehr interessant, sieht aus wie alles unterstützt, außer für den bonus. Immer noch prüfen - http://jsfiddle.net/mark69_fnd/KW4qn/

EDIT2

Leider https://github.com/RobinHerbots/jquery.inputmask hat seine eigenen Probleme. Zum Beispiel, es definiert einige nützliche Eingabe-Masken, die in den extension-Dateien, aber ich kann einfach nicht verstehen, wie es funktioniert (aber vielleicht bin ich einfach dumm). Allerdings scheint es zu verwirren, mein styling zu. Ein numerisches Feld deklariert ist, als Mittelpunkt ausgerichtet, die durch meine css wird nach rechts ausgerichtet. So viel wie ich verstehen die Argumentation, dass dies nicht akzeptabel ist. Kurzum, keine Liebe.

  • Warum nicht ein plugin, das Sie mögen, und ändern Sie die Verwendung Ihrer regex?
  • Sie müssen Spaß machen.
  • Warum sollte ich scherzen? Was ist so schwer über die Auslagerung einer Funktion?
  • Dies ist nicht überhaupt über die swapping-Funktion. Ich glaube, Sie sind falsch. Aber Sie können das Gegenteil beweisen, indem Sie versuchen es selbst und teilen die Ergebnisse.
  • Ich werde sehen, was ich tun kann. Wenn Sie nicht brauchen, alle anderen maskieren features, die Sie bekommen können Weg mit einem viel kleineren und einfacher Umsetzung.
  • Wow, in weniger als einer halben Stunde zwischen Frage und die Antwort darauf selbst. Warum sich die Mühe machen zu Fragen?
  • Denn dies ist ein Prozess. Ich wusste, dass nur über die ersten zwei plugins, die andere schien marginal. Wie ich schon schrieb, die Frage, habe ich beschlossen, es zu überprüfen, wie gut.
  • Außerdem ist das plugin scheint zu verdienen-mehr Referenzen, als es derzeit hat.
  • Einfach gelöscht meine Antwort. Die Freude war verfrüht.

InformationsquelleAutor mark | 2012-08-31
Schreibe einen Kommentar