var msg_1 = 'Fehler:'; var var_1 = new Array() var_1[0] = new Array('vorname','e','Sie haben keinen gültigen Vornamen angegeben.',''); var_1[1] = new Array('nachname','e','Sie haben keinen gültigen Nachnamen angegeben.',''); var_1[2] = new Array('strasse','e','Sie haben keine gültige Strasse angegeben.',''); var_1[3] = new Array('haus_nr','e','Sie haben keine gültige Hausnummer angegeben',''); var_1[4] = new Array('plz','e','Sie haben keine gültige Postleitzahl angegeben.',''); var_1[5] = new Array('ort','e','Sie haben keinen gültigen Ort angegeben.',''); var_1[6] = new Array('telnr','e','Bitte geben sie eine Rufnummer für evtl. Rückfragen an.',''); var_1[7] = new Array('mail','m','Bitte geben sie eine gültige E-Mail Adresse an.',''); var_1[8] = new Array('mail','e','Bitte geben sie eine gültige E-Mail Adresse an.',''); var_1[9] = new Array('agb','a','Sie müssen die AGB und die Widerrufsbelehrung akzeptieren um bestellen zu können.',''); function validate(sender,myarray,err_hd){ var err_msg = !err_hd?new Array('Folgende Fehler sind aufgetreten:\n'):new Array(err_hd+'\n'); var error = false; for (i=0;i-1){ if (!field.value){ error = true; err_msg.push(myarray[i][2]); } } /* Block 2 überprüft, ob die Emailadresse formal richtig ist */ else if (myarray[i][1].indexOf('m')>-1) { if (field.value) { var usr = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")"; var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}"; var regex = "^"+usr+"\@"+domain+"$"; var myrxp = new RegExp(regex); var check = (myrxp.test(field.value)); if (check!=true) { error=true; err_msg.push(field.value+" "+myarray[i][2]); } } } /* Block 3 überprüft Felder, deren Wert eine Zahl sein muss */ else if (myarray[i][1].indexOf('n')>-1) { var num_error = false; if(field.value) { var myvalue = field.value; var num = myvalue.match(/[^0-9,\.]/gi) var dot = myvalue.match(/\./g); var com = myvalue.match(/,/g); if (num!=null) { num_error = true; } else if ((dot!=null)&&(dot.length>1)) { num_error = true; } else if ((com!=null)&&(com.length>1)) { num_error = true; } else if ((com!=null)&&(dot!=null)) { num_error = true; } } if (num_error==true) { error = true; err_msg.push(myvalue+" "+myarray[i][2]); } } /* Block 4 überprüft Wert anhand eines regulären Audrucks auf bestimmte Muster */ else if (myarray[i][1].indexOf('r')>-1) { var regexp = myarray[i][3]; if (field.value) { if (!regexp.test(field.value)) { error = true; err_msg.push(field.value+" "+myarray[i][2]); } } } /* Block 5 überprüft Felder, die als Preis formatiert sein müssen, ändert die Formatierung eventuell */ else if (myarray[i][1].indexOf('p')>-1) { var myvalue = field.value; var reg = /,-{1,}|\.-{1,}/; var nantest_value = myvalue.replace(reg,""); var num = nantest_value.match(/[^0-9,\.]/gi) sep = myarray[i][1].substr(1,1)?myarray[i][1].substr(1,1):','; if (field.value) { var myvalue = field.value.replace(/\./,','); if (myvalue.indexOf(',')==-1) { field.value = myvalue+sep+'00'; } else if (myvalue.indexOf(",--")>-1) { field.value = myvalue.replace(/,--/,sep+'00'); } else if (myvalue.indexOf(",-")>-1) { field.value = myvalue.replace(/,-/,sep+'00'); } else if (!myvalue.substring(myvalue.indexOf(',') + 2)) { error=true; err_msg.push(field.value+" "+myarray[i][2]); } else if (myvalue.substring(myvalue.indexOf(',') + 3)!='') { error=true; err_msg.push(field.value+" "+myarray[i][2]); } else if (num!=null) { error=true; err_msg.push(field.value+" "+myarray[i][2]); } } } /* Block 6 überprüft Namensfelder, und korrigiert evtl. die Groß-/Kleinschreibung */ else if (myarray[i][1].indexOf('c')>-1) { var noble = new Array("de","von","van","der","d","la","da","of"); var newvalue=''; var myvalue = field.value.split(/\b/); for (k=0;k-1){ if (!field.checked){ error = true; err_msg.push(myarray[i][2]); } } /* Block 8 überprüft Radiobuttons ob einer aktiviert wurde */ else if (myarray[i][1].indexOf('b')>-1){ var x=0; for(var k=0; k