2016-11-17 1 views
0

Ich habe diesen Code, um den Eingabebereich zu begrenzen.HTML - Größenbeschränkung für Text und Nummer am selben Eingang

<input type="text" name="myinput" maxlength="10"> 

Dieser Code funktioniert nur für Text. Ich möchte max hinzufügen 4 für int und max 6 für Text

Erfolgsbeispiel:

Eingang: abdc123d
Eingang: 1234abcde

Nicht möglich:

Eingang: 123456789
eingang: dasdsadsa

+1

html muß nicht diese Option. U erfordert Javascript/jquery –

+0

Sie sollten ein Attribut namens "Muster" zu Ihrem HTML-Eingabe-Tag hinzufügen. Dort müssen Sie einen regulären Ausdruck umfassen die Eingabe von Text zu überprüfen, was Sie wollen – xale94

+1

Sie dieses einfache Muster 'Muster verwenden = "([A-Za-z] {6}) | ([0-9] {4})" 'für Ihre Eingabe. – nstungcom

Antwort

1

Hier ich s ein Beispiel, das eine .bad-Klasse hinzufügt.

Sie könnten dann für .bad Klasse überprüfen Speichern etc ..

$('input').on('input', function() { 
 
    var $t = $(this), 
 
     val = $t.val(), 
 
     wantlen = 6; 
 
    if (parseInt(val).toString() === val) { 
 
    wantlen = 4;  
 
    } 
 
    
 
    $t.toggleClass('bad', val.length > wantlen); 
 
});
input { 
 
    background-color: lightgreen; 
 
} 
 

 
.bad { 
 
    background-color: pink; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input type="text"> <br/> 
 

 
<input type="text">