function emailCheck(inputStr) //Parameter ist der Eingabestring aus dem E-Mail Feld eines Formulars { // Listen lassen sich bei Bedarf um weitere gültige Zeichen erweitern var validchars1 = "0123456789" var validchars2 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" var validuserchars = ".-_+~" // in Usernamen gültige Sondereichen var validdomainchars = ".-" // in Domainnamen gültige Sonderzeichen if (inputStr != "") // Prüfen, ob etwas eingegeben wurde { if (inputStr.indexOf("@") > -1) // Prüfen, ob mindestens ein @ vorkommt { adresscomponent = inputStr.split("@"); // Adresse an allen @ in Teile zerlegen if (adresscomponent.length = 2) // Prüfen, ob höchstens ein @ vorkommt, also Adresse in zwei Teile zerlegt wurde { var mailusername = adresscomponent[0]; var mailservername = adresscomponent[1]; var falsch = false; // Wenn dieses Flag am Ende der Routine true ist, war die Adresse ungültig // Username der Mailadresse prüfen var c = mailusername.charAt(0); //1.Zeichen des Mailusernamens muß Buchstabe oder Zahl sein if (validchars1.indexOf(c) < 0 && validchars2.indexOf(c) < 0 ) falsch = true; for(var i=1; i<= mailusername.length -1 ;i++) //Prüfen ob weitere Zeichen des Mailusernamens gültige Zeichen sind { var c= inputStr.charAt(i); if (validchars1.indexOf(c) < 0 && validchars2.indexOf(c) < 0 && validuserchars.indexOf(c) < 0) falsch = true } var c = mailusername.charAt(mailusername.length -1); // Letztes Zeichen des Usernamens muß Buchstabe oder Zahl sein if (validchars1.indexOf(c) < 0 && validchars2.indexOf(c) < 0 ) falsch = true; //Domainname der Mailadresse prüfen for(var i=0; i<= mailservername.length -1 ;i++) //Prüfen ob alle Zeichen des Domainnamens gültige Zeichen sind { var c= mailservername.charAt(i); if (validchars1.indexOf(c) < 0 && validchars2.indexOf(c) < 0 && validdomainchars.indexOf(c) < 0) falsch = true } if (mailservername.indexOf(".") > -1) // Prüfen ob mindestens ein . vorkommt { domaincomponent = mailservername.split("."); //Domainangabe an allen . in Teile zerlegen for(var i = 0; i<= domaincomponent.length -1; i++) // Prüfen, ob keine Komponente leer ist (also zwei Punkte aufeinander folgen) { if (domaincomponent[i].length < 1) falsch = true } toplevelindex = domaincomponent.length -1; toplevel = domaincomponent[toplevelindex] if (toplevel.length < 2 || toplevel.length > 3 ) falsch = true; // Prüfen, ob Toplevel-Domain(letzte Komponente) zwischen 2 und 3 Zeichen hat for (var i = 0; i <= toplevel.length -1; i++) // Prüfen, ob Toplevel-Domain nur Buchstaben enthält { var c = toplevel.charAt(i); if (validchars2.indexOf(c) < 0) falsch = true } } else return false; //wenn kein . im domainnamen vorkommt if (falsch) return false // wenn keine gültige Adresse else return true // wenn gültige Adresse } else return false // wenn mehr als ein @ vorkommt } else // wenn kein @ vorkommmt return false } else return true // true wenn leeres Feld erlaubt sein soll } function isNumeric(inputStr) { var valid = "0123456789" var falsch = false; for (var i = 0; i < inputStr.length; i++) { var c = inputStr.charAt(i); if (valid.indexOf(c) == "-1") {falsch = true;} } if (falsch) return false else return true } function rmvSpace(sText) { var myStr; myStr = new String(sText); j = 0; for (i=0;i < myStr.length;i++){ if (myStr.charAt(i) != " ") j++; } return j; } function MyIsDate(sDatum){ if (sDatum != ""){ var ok = true var Schaltjahr = false //Überprüfung auf erlaubte Zeichen ok = isValidChars(sDatum,"0123456789.") if (ok == true){ //Datum in Tag Monat und Jahr aufteilen aDatum_parts = sDatum.split("."); // Prüfen ob genau zwei Punkte im Datum vorkommen if(aDatum_parts.length < 3 || aDatum_parts.length > 3) { ok = false; } } if (ok == true){ //prüfen auf korrektes Jahr if (aDatum_parts[2] > 0){ if (aDatum_parts[2].length == 4){//Hat das angegebene Datum vier Stellen? //Prüfung ob Schlatjahr oder nicht if (aDatum_parts[2] % 4 == 0){ if (aDatum_parts[2] % 100 != 0){ Schaltjahr = true; }else{ if (aDatum_parts[2] % 400 == 0){ Schaltjahr = true; }else{ Schaltjahr = false; } } }else{ Schaltjahr = false; } }else{//if (aDatum_parts[2].length == 4) ok = false; } }else{//if (aDatum_parts[2] > 0) ok = false; } }//if ok == true if (ok == true){ //Prüfen auf korrekten Monat if (aDatum_parts[1].length >= 1){ //nur eine Stelle eingegeben if (aDatum_parts[1].length == 1){ tmpDatumPart = '0' + aDatum_parts[1]; aDatum_parts[1] = tmpDatumPart; } if (aDatum_parts[1] > 12 || aDatum_parts[1] < 1){ ok = false; } }else{ ok = false; } }// if ok = true if (ok == true){ //Prüfen auf korrekten Tag //mehr als eine Stelle vorhanden if (aDatum_parts[0].length >= 1){ //nur eine Stelle eingegeben if (aDatum_parts[0].length == 1){ tmpDatumPart = '0' + aDatum_parts[0]; aDatum_parts[0] = tmpDatumPart; } if (aDatum_parts[0] > 0){ //Prüfen ob der Monat überhaupt soviel Tage hat wie angegeben if (aDatum_parts[1] == 01){ ok = (aDatum_parts[0] > 31) ? false : true; } if (Schaltjahr == true){ if (aDatum_parts[1] == 02){ ok = (aDatum_parts[0] > 29) ? false : true; } }else{ if (aDatum_parts[1] == 02){ ok = (aDatum_parts[0] > 28) ? false : true; } } if (aDatum_parts[1] == 03){ ok = (aDatum_parts[0] > 31) ? false : true; } if (aDatum_parts[1] == 04){ ok = (aDatum_parts[0] > 30) ? false : true; } if (aDatum_parts[1] == 05){ ok = (aDatum_parts[0] > 31) ? false : true; } if (aDatum_parts[1] == 06){ ok = (aDatum_parts[0] > 30) ? false : true; } if (aDatum_parts[1] == 07){ ok = (aDatum_parts[0] > 31) ? false : true; } if (aDatum_parts[1] == 08){ ok = (aDatum_parts[0] > 31) ? false : true; } if (aDatum_parts[1] == 09){ ok = (aDatum_parts[0] > 30) ? false : true; } if (aDatum_parts[1] == 10){ ok = (aDatum_parts[0] > 31) ? false : true; } if (aDatum_parts[1] == 11){ ok = (aDatum_parts[0] > 30) ? false : true; } if (aDatum_parts[1] == 12){ ok = (aDatum_parts[0] > 31) ? false : true; } }//if aDatum_parts[0] > 0 else{ ok = false //if aDatum_parts[0] < 0 } }else{ ok = false; } }//if ok = true bei Tag }else{ // if (sDatum != "") ok = false } if(ok == false){ return false; }else{ return true } } function isValidChars(inputStr,pChars) // inputStr ist der zu überprüfende String, pChars sind die erlaubten Zeichen { var valid = ".0123456789" if (pChars != "") {valid = valid + pChars} var ok = "yes"; for (var i = 0; i < inputStr.length; i++) { var c = inputStr.charAt(i); if (valid.indexOf(c) == "-1") {ok = "no";} } if (ok == "no") { return false } else return true }