Verhindert Benutzer, geben Sie weitere Nummern nach 2 Ziffern vor dem Dezimalpunkt

Ich habe ein problem mit der Benutzer durch Eingabe numerischer Werte in meine Textfelder, die die gleiche Klasse.

, Was Ich Will:

  • Benutzern erlauben, geben Sie nur 2 zahlen vor dem Dezimalpunkt und 2 weitere nach; ansonsten sind alle Tasten außer log Pfeil-Tasten, backspace-und entf-Taste

Aktuellen Ausgabe

  • Benutzer können nur geben Sie 2 zahlen; jedoch, nachdem er/Sie fügt ein Dezimalzeichen, Sie hinzufügen können, mehr zahlen, bevor es
  • Derzeit können die Benutzer nur geben Sie 5 Ziffern--2 vor dem Komma, und die anderen 2 nach dem Dezimalpunkt. Wenn Sie löschen eine Stelle nach dem Komma, können Sie noch mehr hinzufügen Nummer Ziffer vor das Komma.

Mein HTML:

<form method="post">
    <div class="row">
        <label>Val 1</label>
        <input type="text" class="validate" name="val1" maxlength="5" />
    </div>
    <div class="row">
        <label>Val 2</label>
        <input type="text" class="validate" name="val2" maxlength="5" />
    </div>
    <div class="row">
        <label>Val 3</label>
        <input type="text" class="validate" name="val3" maxlength="5" />
    </div>
    <div class="row">
        <button type="submit">Send</button>
    </div>
</form>

Meine JS:

Number.prototype.between  = function (a, b, inclusive) {
        var min = Math.min.apply(Math, [a,b]),
            max = Math.max.apply(Math, [a,b]);
        return inclusive ? this >= min && this <= max : this > min && this < max;
    };  
$('.validate').keypress( function( event ) {
        var v = parseFloat($(this).val() + String.fromCharCode(event.which));

        textValue = parseFloat(v).toString();
        var newVal = parseInt( textValue.substr(0, textValue.indexOf(".")) );

        console.log(newVal);
        if(textValue.length < 6){
           if(!parseFloat(v).between(0,99.99,true)) {
                v = this.value.substring(0, 2);
                $(this).val(v);
                return false;
            } 
            return true;
        }
    });

Hier ist der link zu meinem fiddel /DEMO

InformationsquelleAutor Sophea Phy | 2013-09-26
Schreibe einen Kommentar