[JQuery/JavaScript] Textfeld, nur Zahlen und Kommas.

germanTHX

Cadet 4th Year
Registriert
Aug. 2013
Beiträge
91
Hallo,

ich brings nicht fertig das Feld entsprechend abzuprüfen.
In dem Feld wird eine Staffelung im Format: "Maximal 50 Zeichen im Format 6,12,18,24"
Das mit der maxlength ist ja kein Problem. Aber ich weis echt nicht wie ich das Format an sich abprüfen kann.
Also es kann ja auch 2,10,50,200 oder sonst was drin stehn. Numeric wenn ich mache bringt mir nichts weil dann lässt er nur ein Komma zu.
Also ich glaube es würde reichen wenn ich am Anfang sicherstellen könnte das sich kein Buchstabe mit im Feld steht.
Wie realisier ich das jetzt am besten?
 
Code:
$('textarea').keydown( function()
{
	return e.keyCode >= 48 && e.keyCode <= 57 // 0 - 9
		|| e.keyCode >= 96 && e.keyCode <= 105 // 0 - 9 NumPad
		|| e.keyCode == 108 // , NumPad
		|| e.keyCode == 188; // ,
} );
 
Yuuri: Danke hat jetzt funktioniert.
Das Komma auf dem Numpad ist allerdings 110.
Backspace (8) und Entf (46) sollte man vll auch noch erlauben.
Nachdem ich wusste wies geht hab ich mir den KeyCode mit console.log ausgegeben und dann entsprechend erweitert.
 
Zuletzt bearbeitet:
Die Lösung ist doch nicht das ware. Denn so funktionieren aufgrund der Keycodes auch alle Sonderzeichen die auf den gleichen Tasten wie die Zahlen liegen. Also !"§$%&/()=? etc.
 
Dann prüf mal zusätzlich noch die Modifier:
Code:
$('textarea').keydown( function( e )
{
	return !(e.altKey || e.ctrlKey || e.shiftKey)
		&& (
			e.keyCode >= 48 && e.keyCode <= 57 // 0 - 9
			|| e.keyCode >= 96 && e.keyCode <= 105 // 0 - 9 NumPad
			|| e.keyCode == 108 // , NumPad
			|| e.keyCode == 188 // ,
		);
} );
 
Oder keypress Event, welches die Modifier ignoriert .
 

Ähnliche Themen

Zurück
Oben