Die Begrenzung Eingabefeld, um einen Dezimalpunkt und zwei Nachkommastellen

Ich habe ein input-Feld ist begrenzt auf 6 Zeichen. Wie kann ich überprüfen mein input-Feld, so dass ein Benutzer kann nicht mehr als einer Dezimalstelle (also 19..12), und es kann nur auf zwei Dezimalstellen (d.h. 19.123)?

Dies ist mein input-Feld

<input type="text" name="amount" id="amount" maxlength="6" autocomplete="off"/><span class="paymentalert" style="color:red;"></span>

Hier ist mein Validierung Skript.

$(function(){
$("#amount").keypress( function(e) {
    var chr = String.fromCharCode(e.which);
    if (".1234567890NOABC".indexOf(chr) < 0)
        return false;
});
});

$("#amount").blur(function() {
    var amount = parseFloat($(this).val());
    if (amount) {
        if (amount < 40 || amount > 200) {
            $("span.paymentalert").html("Your payment must be between £40 and £200");
        } else {
            $("span.paymentalert").html("");
        }
    } else {
        $("span.paymentalert").html("Your payment must be a number");
    }
});

Jona

  • Zwei Fragen: (1) wollen Sie es so, dass, wenn Sie einen Dezimalpunkt, der MUß noch 2 Ziffern nach dem es? (2) Von der Fehlermeldung, es müssen mindestens 2 Ziffern vor dem Komma, aber nicht mehr als 3 Ziffern, richtig?
  • Irgendeinem Grund nicht zu verwenden digitalbush.com/projects/masked-input-plugin?
  • 1)Ja 2) Zu Korrigieren.
  • Okay . . . beantworten Sie unten. 🙂
  • Ich möchte es einfach halten und haben den javascript-Code in eine Funktion.
InformationsquelleAutor Jonah | 2013-03-06
Schreibe einen Kommentar