function validate(sender,myarray,err_hd,setFocus) { var err_msg = !err_hd?new Array():new Array(err_hd+'\n'); var error = false; var ArrayHL = new Array(); $("#ErrorLayer").hide(); for (i=0;i-1) { if (!field.value) { error = true; err_msg.push(myarray[i][2]); ArrayHL.push(myarray[i][0]); if (myarray[i][4]!='') { ArrayHL.push(myarray[i][4]); } } } else if (myarray[i][1].indexOf('image')>-1) { if (!field.value) { error = true; err_msg.push(myarray[i][2]); ArrayHL.push(myarray[i][0]); if (myarray[i][4]!='') { ArrayHL.push(myarray[i][4]); } } } else if (myarray[i][1].indexOf('strlen')>-1) { if (field.value.length != 0 && field.value.length < myarray[i][3]) { error = true; err_msg.push(myarray[i][2]); ArrayHL.push(myarray[i][0]); if (myarray[i][4]!='') { ArrayHL.push(myarray[i][4]); } } } else if (myarray[i][1].indexOf('ident')>-1) { field2 = formular.elements[myarray[i][3]]; if (field.value != field2.value) { error = true; err_msg.push(myarray[i][2]); ArrayHL.push(myarray[i][0]); ArrayHL.push(myarray[i][3]); if (myarray[i][4]!='') { ArrayHL.push(myarray[i][4]); } } } /* Block 2 überprüft, ob die Emailadresse formal richtig ist */ else if (myarray[i][1].indexOf('email')>-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-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(myarray[i][2]); ArrayHL.push(myarray[i][0]); if (myarray[i][4]!='') { ArrayHL.push(myarray[i][4]); } } } } else if (myarray[i][1].indexOf('internet')>-1) { if (field.value) { var regex = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}"; var myrxp = new RegExp(regex); var check = (myrxp.test(field.value)); if (check!=true) { error=true; err_msg.push(myarray[i][2]); ArrayHL.push(myarray[i][0]); if (myarray[i][4]!='') { ArrayHL.push(myarray[i][4]); } } } } else if (myarray[i][1].indexOf('radio')>-1) { var check = false; for(var x=0; x-1) { if(!field.checked) { error = true; err_msg.push(myarray[i][2]); ArrayHL.push(myarray[i][0]); if (myarray[i][4]!='') { ArrayHL.push(myarray[i][4]); } } } /* Block 3 überprüft Felder, deren Wert eine Zahl sein muss */ else if (myarray[i][1].indexOf('nummer')>-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(myarray[i][2]); ArrayHL.push(myarray[i][0]); if (myarray[i][4]!='') { ArrayHL.push(myarray[i][4]); } } } else if (myarray[i][1].indexOf('telefon')>-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(myarray[i][2]); ArrayHL.push(myarray[i][0]); if (myarray[i][4]!='') { ArrayHL.push(myarray[i][4]); } } } /* 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]); ArrayHL.push(myarray[i][0]); if (myarray[i][4]!='') { ArrayHL.push(myarray[i][4]); } } } } */ /* Block 5 überprüft Felder, die als Preis formatiert sein müssen, ändert die Formatierung eventuell */ else if (myarray[i][1].indexOf('preis')>-1) { var myvalue = field.value; var reg = /,-{1,}|\.-{1,}/; var nantest_value = myvalue.replace(reg,""); var num = nantest_value.match(/[^0-9,\.]/gi) sep = '.'; 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]); ArrayHL.push(myarray[i][0]); if (myarray[i][4]!='') { ArrayHL.push(myarray[i][4]); } } else if (myvalue.substring(myvalue.indexOf(',') + 3)!='') { error=true; err_msg.push(field.value+" "+myarray[i][2]); ArrayHL.push(myarray[i][0]); if (myarray[i][4]!='') { ArrayHL.push(myarray[i][4]); } } else if (num!=null) { error=true; err_msg.push(field.value+" "+myarray[i][2]); ArrayHL.push(myarray[i][0]); if (myarray[i][4]!='') { ArrayHL.push(myarray[i][4]); } } } } /* 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