Thomas: formulareingaben prüfen

hallo

ich habe folgenden javascriptcode um eingaben in einem formular zu prüfen bekommen dieser beinhaltet auch am anfang eine option um vorhandene eingaben zu übernehmen
was mir fehlt ist die prüfung ob bei telefon auch wirklich zahlen eingegeben wurden desweiteren darf bei telefon auch das / und - vorhanden sein
kann mir jemand einen hinweiß geben wie ich das hinbekomme

hier mein code

function fillForm ()
  {
   if (document.ShippingForm.IsShippingSame.checked == true)
   {
    document.ShippingForm.lieferanrede.selectedIndex = document.ShippingForm.anrede.selectedIndex;
    document.ShippingForm.liefervorname.value = document.ShippingForm.vorname.value;
    document.ShippingForm.liefernachname.value = document.ShippingForm.nachname.value;
    document.ShippingForm.lieferstrasse.value = document.ShippingForm.strasse.value;
    document.ShippingForm.lieferort.value = document.ShippingForm.ort.value;
    document.ShippingForm.lieferbundesland.value = document.ShippingForm.bundesland.value;
    document.ShippingForm.lieferplz.value = document.ShippingForm.plz.value;
    document.ShippingForm.lieferland.value = document.ShippingForm.land.value;
    document.ShippingForm.liefertelefon.value = document.ShippingForm.telefon.value;
    //document.ShippingForm.shipCountryID.selectedIndex = document.ShippingForm.liefer.selectedIndex;
   }
  }

function clearCheckbox ()
  {
   document.ShippingForm.IsShippingSame.checked = false;
  }

function validateContactForm (message)
  {
   passed = true;

message += "\n\nPersönliche Daten\n--------------------------\n\n";
   if (document.ShippingForm.anrede.value == "") {message += "- Anrede\n"; passed = false;}
   if (document.ShippingForm.vorname.value == "") {message += "- Vorname\n"; passed = false;}
   if (document.ShippingForm.nachname.value == "") {message += "- Nachname\n"; passed = false;}
   if (document.ShippingForm.strasse.value == "") {message += "- Strasse\n"; passed = false;}
   if (document.ShippingForm.ort.value == "")  {message += "- Ort\n"; passed = false;}
   if (document.ShippingForm.bundesland.value == "") {message += "- Bundesland\n"; passed = false;}
   if (document.ShippingForm.plz.value == "") {message += "- PLZ\n"; passed = false;}
   if (document.ShippingForm.land.value == "") {message += "- land\n"; passed = false;}
   if (document.ShippingForm.telefon.value == "") {message += "- Telefon\n"; passed = false;}

if (passed == false) {return message;}
   else   {return "";}
  }

function validateForm ()
  {
   var message = "";

message1 = validateContactForm (message);
   message2 = validateShippingForm (message);

message = message1 + message2;

if (message != "")  {alert ("Hier fehlt doch was!\n--------------------------" + message); return false;}
   else   {return true;}
  }

function validateShippingForm (message)
  {
   passed = true;

message += "\n\nLieferadresse\n--------------------------\n\n";

if (document.ShippingForm.lieferanrede.value == "") {message += "- Anrede\n"; passed = false;}
   if (document.ShippingForm.liefervorname.value == "") {message += "- Vorname\n"; passed = false;}
   if (document.ShippingForm.liefernachname.value == "") {message += "- Nachname\n"; passed = false;}
   if (document.ShippingForm.lieferstrasse.value == "") {message += "- Strasse\n"; passed = false;}
   if (document.ShippingForm.lieferort.value == "")  {message += "- Ort\n"; passed = false;}
   if (document.ShippingForm.lieferbundesland.value == "") {message += "- Bundesland\n"; passed = false;}
   if (document.ShippingForm.lieferplz.value == "") {message += "- PLZ\n"; passed = false;}
   if (document.ShippingForm.lieferland.value == "") {message += "- Land\n"; passed = false;}
   if (document.ShippingForm.liefertelefon.value == "")  {message += "- Telefon\n"; passed = false;}

if (passed == false) {return message;}
   else   {return "";}
  }

danke

thomas

  1. hi,

    nimm regulaere Ausdruecke um ein Muster zu ueberpruefen,
    hier mal ein Bsp (fuege auch bei "eing" mal einen Buchstaben ein):

    // das soll getestet werden
    var eing = "1231 / 23456";

    // Muster: Zahlen, dann mind. 0 oder max 3x ein Trenner, dann wieder Zahlen
    var reg  = /^([0-9]+)[/-. ]{0,3}([0-9]+)$/;
    var intNr = "";
    if(reg.exec(eing)){
     var regs = reg.exec(eing);
     intNr  += regs[1] + " " + regs[2];
     alert(intNr);
    }
    else alert("isnich");

    und bitte: poste nur relevanten code, Traffic!
    Deine komplette Ueberpruefung ist ueberfluessig, denn es soll
    ja lediglich ein String auf Zahlen und Trenner gechecked werden.

    hth

    Gruesse  Joachim

  2. Grüssi!

    was mir fehlt ist die prüfung ob bei telefon auch wirklich zahlen eingegeben wurden desweiteren darf bei telefon auch das / und - vorhanden sein

    Du könntest z.b. den String bei dem character '/' splitten und dann mit isNaN() überprüfen ob es sich bei dem Teilstring um eine Zahl handelt ... Oder mit einer Schleife jedes einzelne Zeichen parsen ob isNaN() oder == '/' ... Oder du ... lass deiner Kreativität freien Lauf ;-)

    lg bernhard