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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies tun sollte :
(wenn ich das richtig verstanden, dass Sie wollen nicht mehr als 2 Ziffern nach dem Punkt)
Den code so wäre :
Unter der Annahme, dass
Den code, den Sie verwenden, um es anzupassen wäre:
Es wäre viel einfacher, wenn Sie die Masked Input Plugin für jQuery.