Zahlen Kommata

04/13/2016 15:36 Devsome#1
Hallo,

sollte mal ein Input Feld basteln was die Zahl richtig formatiert.
Vielleicht kann es jemand gebrauchen.

Code:
<!doctype html>
	<head>
		<title>Input</title>
		<style type="text/css">
			input.right{
				text-align:right;
			} 
		</style>
		<script type="text/javascript">
			function addCommas(event, element){
				var keyCode = ('which' in event) ? event.which : event.keyCode;
				if (keyCode == 8 || keyCode == 46 || keyCode == 37 || keyCode == 39 || keyCode == 46){
					return true;
				}
				if ((keyCode < 48 || keyCode > 57)) {
					return false;
				}
				
				if ( element.value.length >= 2 ) {
					var buffer = element.value.replace(",","") + String.fromCharCode(keyCode);
					var buffer = buffer.replace(/\./g, '');
					var fixed = buffer.slice(0, -2) +","+buffer.slice(-2)
					var number = fixed.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
					element.value = number;
					
				}else if( element.value.length <= 1) {
					element.value = element.value + String.fromCharCode(keyCode);
				}
				
				return false;
			}
		</script>
	</head>
	<body>
		<form action="#">
			<p>Betrag:<br><input name="number" id="number" class="right" type="text" size="40" onkeydown="return addCommas(event, this)" /></p>
			<p><input type="reset" value="Reset" /></p>
		</form>
		<br/>
		1<br/>10<br/>1,00<br/>10,00<br/>100,00<br/>1.000,00<br/>10.000,00<br/>100.000,00<br/>1.000.000,00<br/>
	</body>
</html>