gadget.functions.checkMonetaryValue = function() { var isANumber = function(stringGot) { if(stringGot.length == 0) return false; for(var i=0;i 2) { //check, ob mehr als ein komma vorhanden alert("Bitte geben Sie nur ein Komma ein!"); this.focus(); this.entity.setValue(this.id,this.value); return; } if(splitNachKommas.length == 2) { //ein Komma vorhanden if(splitNachKommas[1].length != 2) { alert("Bitte geben Sie zwei Nachkommastellen an!"); this.focus(); this.entity.setValue(this.id,this.value); return; } if(splitNachKommas[1].length == 2) { //zwei Nachkommastellen vorhanden if(!isANumber(splitNachKommas[1])) { alert("Die Nachkommastellen dürfen nur Ziffern enthalten!"); this.focus(); this.entity.setValue(this.id,this.value); return; } } } var splitNachPunkten = this.value.split("."); if(splitNachPunkten.length > 1) { //mind. ein punkt vorhanden var neuerValue = splitNachKommas[0].replace(/\./g,"") var ende = neuerValue.length; var counter = 0; var somethingChanged = false; for(var j=ende-1;j>=0;j--) { counter++; if(counter == 3 && j != 0) { neuerValue = neuerValue.substring(0,j) + "." + neuerValue.substr(j); counter = 0; } } if(splitNachKommas.length == 2) { neuerValue = neuerValue + "," + splitNachKommas[1]; } this.value = neuerValue; splitNachPunkten = this.value.split("."); splitNachKommas = this.value.split(","); this.entity.setValue(this.id,this.value); for(var i=0; i 1) { alert("Bitte entfernen Sie die führenden Nullen!"); this.focus(); this.entity.setValue(this.id,this.value); return; } } } } else { //kein Punkt vorhanden if(!isANumber(splitNachKommas[0])) { //Zahl hat nicht nur Ziffern alert(wert + " ist kein zulässiger Zahlenwert. Bitte geben Sie eine gültige Zahl ein."); this.focus(); this.entity.setValue(this.id,this.value); return; } for(g=0;g 1) { alert("Bitte entfernen Sie die führenden Nullen!"); this.focus(); this.entity.setValue(this.id,this.value); return; } } } var ende = splitNachKommas[0].length; var counter = 0; var neuerValue = splitNachKommas[0]; var somethingChanged = false; for(var j=ende-1;j>=0;j--) { counter++; if(counter == 3 && j != 0) { neuerValue = neuerValue.substring(0,j) + "." + neuerValue.substr(j); counter = 0; somethingChanged = true; } } if(somethingChanged) { if(splitNachKommas.length == 2) { neuerValue = neuerValue + "," + splitNachKommas[1]; } this.value = neuerValue; this.entity.setValue(this.id,this.value); } } if(splitNachKommas.length == 1) { //kein Komma vorhanden this.value = this.value + ",00"; this.entity.setValue(this.id,this.value); } this.entity.setValue(this.id,this.value); }