beToiba: Problem mit RegExp

Beitrag lesen

Hallo,

ich habe folgende Funktion erstellt:

function validate_input(element, option) {  
  
    var pregex;  
    var text = document.getElementById(element).value;  
  
    /*window.alert(text);*/  
  
    switch (option) {  
      case "a":  
        pregex = "/([0-9]){1,5}(,|\.){1}([0-9]){2}/";  
        exmpl  = "0.00, 0.01, 0.02 ... 99999.99";  
        break;  
      case "b":  
        pregex = "/([0-9]){1,5}(,|\.){1}([0-9]){1,3}/";  
        exmpl  = "0.000, 0.001, 0.002 ... 99999.999";  
        break;  
      case "c":  
        pregex = "/([0-9]){1,10}/";  
        exmpl  = "0,1,2 ... 9999999999";  
        break;  
      case "d":  
        pregex = "/([0|1|2]){1}([0-9]){1}/";  
        exmpl  = "01,02,03 ... 24";  
        break;  
    }  
  
    /*window.alert('/([0-9]){1,5}(,|\.){1}([0-9]){2}/');*/  
  
    if(text.match(pregex) == null) {  
      document.getElementById(element).style.backgroundColor = '#f00';  
      window.alert("Valider Zahlenbereich: " + exmpl);  
    }  
    else {  
      document.getElementById(element).style.backgroundColor = '#09f';  
    }  
  }

Nun habe ich das Problem, dass match() auch (eigentlich) valide Eingaben nicht erkennt. Zur Zeit teste ich nur mit Variante "a"!

Wenn ich den RegExp String im alert Fenster ausgeben lasse, wird der Backslash, der ja eigentlich den "." escapen soll nicht mehr angezeigt.

Kann es sein, dass Javascript diesen irgendwie falsch interpretiert und "ausschneidet"? Oder habe ich generell Fehler im Script?

Vielen Dank im Voraus.

Matthias