Bei Zahleneingabe nur ein "." zulassen und "," zu Punkt

gianfranco0104

Erfahrenes Mitglied
Hi, habe hier einen kleinen Code, welcher mir bei der direkten Eingabe im Textfeld nur Zahlen erlaubt. Dazu sollen jedoch "." möglich sein.

Javascript:
function nurZahlen(el) {
                  var val = el.value.replace(/[^\.^,\d]/g, '')
                  el.value = val ;
                }

mein Ziel ist es aber, dass wenn ein "," eingegeben wird, dieser automatisch in ein "." gewandelt wird und zudem aber nur ein mal ein "." in der zahl enthalten sein darf.
Habe es mit mehreren Replaces versucht, da es ja, direkt bei der Eingabe schon ermittelt wird, klappt das nicht so ganz.
Wer könnte da helfen?

HTML Input schaut so aus:
HTML:
<input name="highestBTTXT" id="highestBTTXT" class="txtfieldCase" type="number" value="0" onkeyup="nurZahlen(this)">
 
@ikosaeder , Danke für die Hilfe. Hat mich weiter gebracht. Hier die perfekte Lösung. Eingaben werden live überwacht und nur eine Dezimalstelle wird freigegeben.
Javascript:
function nurZahlen(el) {
  var val  = el.value.replace(/[^\.^,\d]/g, '') ; //Nur Zahlen und Dez-Zeichen
  val       = val.replace(/[,]/g, '.') ; // "," ersetzen zu "."
  // Nur ein Dez-Zeichen erlauben
  if(val.split('.').length>2)
         val =val.replace(/\.+$/,"");
  el.value = val ;
}
HTML Code hat sich nicht geändert (s. oben)
 

Neue Beiträge

Zurück