strFormcheckAchtungDieDomain = "Achtung: die Domain Ihrer E-Mail-Adresse lautet " strFormcheckSindSieSicher = ". Sind Sie sicher?" strFormcheckBittePruefen = "Bitte prüfen Sie im Formular folgende Felder" strFormcheckBitteKorrekt = " bitte korrekt angegeben!" strFormcheckMaxi200Zeichen = " darf max. 200 Zeichen enthalten!" strFormcheckPasswort = "Passwort" strFormcheckMindestens3Zeichen = " mindestens drei Zeichen angeben!" strFormcheck2MalPasswort = " - Bitte zweimal das selbe Passwort angeben!" strFormcheckAnredeAuswahl = " - Anrede bitte auswählen." strFormcheckKontrollfedAkzeptieren = " bitte durch Anwählen des Kontrollfeldes akzeptieren." strFormcheckBitteEmailKorrekt = " - Bitte E-Mail-Adresse korrekt angeben." strFormcheckBittePasswortKorrekt = " - Bitte Passwort korrekt angeben." //Mussfeld Stichwort function absendenStichwortOK() { formAuswertung = checkForm("suchform","Stichwort","stichwort","stw") return formAuswertung } //Mussfeld Login function absendenLoginOK() { formAuswertung = checkForm("loginform","E-Mail-Adresse","email","@","Passwort","passwort","pw") return formAuswertung } //Mussfelder Kontakt function absendenKontaktOK() { formAuswertung = checkForm("kontaktform","Anrede","anrede","an","Vorname","vorname","txt","Nachname","nachname","txt","E-Mail","email","@","Meine Anfrage","kommentar","txt") return formAuswertung } //Mussfelder Neukunden function absendenRechnungsdatenOK() { formAuswertung = checkForm("rechnungsdaten","E-Mail-Adresse (E-Mail)","email","@",'Passwort','passwort_1','pw1','Passwort','passwort_2','pw2',"Anrede","anrede","an","Vorname","vorname","txt","Nachname","nachname","txt","Straße","strasse","txt","Postleitzahl (PLZ)","plz","txt","Ort","ort","txt","Land","land","txt","Telefon-Nr","telefon","txt") return formAuswertung } //Mussfelder EditRechnungsdaten function absendenEditRechnungsdatenOK() { formAuswertung = checkForm('rechnungsdaten',"Anrede","anrede","an","Vorname","vorname","txt","Nachname","nachname","txt","Straße","strasse","txt","Postleitzahl (PLZ)","plz","txt","Ort","ort","txt","Land","land","txt") return formAuswertung } //Mussfelder Lieferdaten function absendenLieferdatenOK() { formAuswertung = checkForm("lieferdaten","Name des Empfängers","lieferName","txt","Straße","lieferStrasse","txt","Postleitzahl (PLZ)","lieferPlz","txt","Ort","lieferOrt","txt") return formAuswertung } //Mussfelder Kontodaten function absendenKontodatenOK() { formAuswertung = checkForm("kontodaten","Name des Kontoinhabers","kontoInhaber","txt","Konto-Nummer","kontoNummer","txt","Bankleitzahl Ihrer Bank","kontoBlz","txt") return formAuswertung } //Mussfeld Allgemeine Geschäftsbedingungen function passwortdatenOK() { formAuswertung = checkForm("passwortdaten","E-Mail-Adresse","email","@") return formAuswertung } //Mussfeld Allgemeine Geschäftsbedingungen function absendenBestellzusatzOK() { formAuswertung = checkForm("zusatzdaten","Anmerkungen","kommentar","max","Allgemeine Geschäftsbedingungen","agb","agb") return formAuswertung } // Copyright Lutz Eymers , 1997 // Polzin GmbH, Duesseldorf //******************************************** //* E-Mail-Adresse auf Gueltigkeit ueberpruefen //******************************************** function isDigit( ch ) { if ( (ch >= '0') && (ch <= '9') ) return true; else return false; } function isAlpha( ch ) { if ( ((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) ) return true; else return false; } function isAlnum( ch ) { if ( isAlpha( ch ) || isDigit( ch ) ) return true; else return false; } function notIn( str1, str2 ) { var i = 0; var j = str2.length; for( ; i '~') || !notIn( mustBeQuoted, username.charAt(0) ) ) return false; for( i=1; i '~') || !notIn ( mustBeQuoted, username.charAt(i) ) ) && ( username.charAt(i-1) != '\\' ) ) return false; } } else { if ( username.charAt( j-1 ) != '"' ) return false; for( i=1; i '9' ) ) return false; return true; } function checkIpnr( ipnr ) { var iL=0; var iC=0; var i=0; var sNr = ""; for( ; i< ipnr.length; i++ ) { if ( ipnr.charAt(i) == '.' ) { if ( !iL || (iL> 3) || parseInt( sNr,10 ) > 255 ) return false; iC++; iL = 0; sNr = ""; continue; } if ( isDigit ( ipnr.charAt(i) ) ) { iL++; sNr = sNr + ipnr.charAt(i); continue; } return false; } if ( parseInt( sNr,10 ) > 255 ) return false; if ( ( (iC==3) && (iL>=1) && (iL<=3) ) || ( (iC==4) && (!iL) ) ) return true; else return false; } function checkFqdn( fqdn ) { var iL=0; var iC=0; var i=fqdn.length-1; if ( (fqdn.charAt(0) == '.') || (fqdn.charAt(0) == '-') ) return false; if ( fqdn.charAt(i) == '.' ) i=i-1; for( ; i>=0; i-- ) { if ( fqdn.charAt(i) == '.' ) { if ( iL < 2 && iC < 2 ) return false; if ( fqdn.charAt(i-1) == '-' ) return false; iC++; iL = 0; continue; } if ( isAlnum ( fqdn.charAt(i) ) ) { iL++; continue; } if ( fqdn.charAt(i) == '-' ) { if ( !iL ) return false; iL++; continue; } return false; } if ( !iC || ( iL == 1 && iC < 2 ) || ( !iL && iC==1 ) ) { return false; } return true; } function checkHostname( hostname ) { if ( hostname.charAt(0) == '[' ) { if ( hostname.charAt(hostname.length-1) != ']' ) return false; var ipnr = hostname.substring( 1, hostname.length -1 ); return checkIpnr( ipnr ); } if ( hostname.charAt(0) == '#' ) { var nr = hostname.substring( 1, hostname.length ); return checkNr( nr ); } // edited by interact var seperate = hostname.lastIndexOf("."); if ( seperate == -1 ) return false; tld = hostname.substring(seperate+1, hostname.length ); if ((tld.length > 6 )) return false; if ((tld.length > 4 )) { return confirm(strFormcheckAchtungDieDomain + tld + strFormcheckSindSieSicher); //return true; } // end edited return checkFqdn( hostname ); } function checkEmailAdr( address ) { var status = true; var username = ""; var hostname = ""; if ( address.length < 8 ) return false; var seperate = address.lastIndexOf("@"); if ( seperate == -1 ) return false; username = address.substring(0, seperate ); if ( ! checkUsername( username, "<>!$%&/=?`*~+'#|^()[],;:@\" " ) ) return false; hostname = address.substring(seperate+1, address.length ); if ( ! checkHostname( hostname ) ) return false; // edited by interact if ((address.indexOf('..')) > -1 || (address.indexOf('.@')) > -1 || (address.indexOf('\\')) > -1 ) return false; // end edited return true; } function checkEmail( email, allowFullname ) { var existFullname = false; var status = true; var fullname = ""; var adress = ""; if ( email.length < 8 ) return false; var emailBegin = email.indexOf("<"); var emailEnd = email.lastIndexOf(">"); if ( (emailBegin == -1) && (emailEnd == -1) ) return checkEmailAdr( email ); if ( ( (emailBegin == -1) && (emailEnd != -1) ) || ( (emailBegin != -1) && (emailEnd == -1) ) ) return false; adress = email.substring( emailBegin+1, emailEnd ); if ( ! checkEmailAdr( adress ) ) return false; if ( email.length == adress.length + 2 ) return true; else if ( ! allowFullname ) return false; if ( emailEnd == email.length - 1 ) { if ( emailBegin == 0 ) return true; if ( email.charAt( emailBegin -1 ) != ' ' ) return false; fullname = email.substring( 0, emailBegin-1 ); return checkUsername ( fullname, "<>!$%&/=?`*~+'#|^()[],;:@\" " ); } return false ; } //Formular (Achtung: evtl. bergebenen Feldnamen mit folgenden Variablen vergleichen) function checkForm() { checkFormValue=true parameter=checkForm.arguments parameter_anzahl=parameter.length formularname=parameter[0] fehler=strFormcheckBittePruefen + ':\n\n' for (i=1; i<(parameter_anzahl-2); i+=3) { feedbackTitel=parameter[i] feldname=parameter[i+1] eval('feldinhalt=document.' + formularname + '.' + feldname + '.value'); switch (parameter[i+2]) { case 'txt': if (trim(feldinhalt).length < 1) { //fehler+=(' - ' + feedbackTitel + strFormcheckBitteKorrekt +' \n') fehler+=(' - ' + feedbackTitel +'\n') checkFormValue=false; } break; case 'max': if (trim(feldinhalt).length > 200) { //fehler+=(' - ' + feedbackTitel +' bitte korrekt angegeben!\n') fehler+=(' - Das Feld ' + feedbackTitel + strFormcheckMaxi200Zeichen + ' \n') checkFormValue=false; } break; case 'stw': if (trim(feldinhalt).length < 3) { fehler+=(' - Bitte im Feld ' + feedbackTitel + strFormcheckMindestens3Zeichen + ' \n') checkFormValue=false; } break; case 'one': if (trim(feldinhalt).length < 1) { //fehler+=(' - ' + feedbackTitel +' bitte korrekt angegeben!\n') fehler+=(' - ' + feedbackTitel +'\n') checkFormValue=false; } break; case 'pw': if ((trim(feldinhalt).length < 4) || (feldinhalt==strFormcheckPasswort)) { // fehler+=(' - ' + feedbackTitel + strFormcheckBitteKorrekt + '\n') fehler+=(strFormcheckBittePasswortKorrekt +' \n') checkFormValue=false; } break; case 'pw1': if (trim(feldinhalt).length < 4) { // fehler+=(' - ' + feedbackTitel + strFormcheckBitteKorrekt + ' \n') fehler+=(strFormcheckBittePasswortKorrekt +' \n') checkFormValue=false; } else { //Passwort2 feedbackTitel2=parameter[i+3] feldname=parameter[i+4] eval('feldinhalt2=document.' + formularname + '.' + feldname + '.value'); if (feldinhalt != feldinhalt2) { fehler+=(strFormcheck2MalPasswort +' \n') checkFormValue=false; } } break; case '@': // if ((feldinhalt.length < 5) || (parseInt(feldinhalt.indexOf('@')) < 0) || (parseInt(feldinhalt.indexOf('.')) < 0)) { // } if (checkEmail(feldinhalt, true ) == false) { // fehler+=(' - ' + feedbackTitel + strFormcheckBitteKorrekt +' \n') fehler+=(strFormcheckBitteEmailKorrekt +' \n') checkFormValue=false; } break; case 'an': if (feldinhalt=='?') { fehler+=(strFormcheckAnredeAuswahl + ' \n') checkFormValue=false; } break; case 'agb': eval('feldinhalt = document.' + formularname + '.' + feldname + '.checked') if (feldinhalt != true) { fehler+=(' - ' + feedbackTitel + strFormcheckKontrollfedAkzeptieren + ' \n') checkFormValue=false; } } } if (checkFormValue==false) { alert(fehler) } return checkFormValue; }