11. april 2003 - 18:03Der er
5 kommentarer og 1 løsning
DW-MX Validator
Hejsa Er der én der lige vil skrive lidt om på følgende script;
function MM_validateForm() { //v4.0 var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+=' '+nm+' skal indeholde en gyldig e-mail adresse.\n'; } else if (test!='R') { num = parseFloat(val); if (isNaN(val)) errors+='- '+nm+' must contain a number.\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n'; } } } else if (test.charAt(0) == 'R') errors += ' '+nm+' skal udfyldes.\n'; } } if (errors) alert(' Der opstod en fejl:\n\n'+errors); document.MM_returnValue = (errors == ''); }
Den validator er ikke tilnærmelsesvis god nok. Fx er pless@a en gyldig e-mail adresse. Den skal minimum tjekke, at der er; [min. 1 tegn + @ + min. 1 tegn + . + mellem 2 og 5 tegn]
if (test.indexOf('isEmail')!=-1) { eRegEmail=new RegExp("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,5}$","gi"); etest=p.match(eRegEmail); if (etest!=p) { errors+=' '+nm+' skal indeholde en gyldig e-mail adresse.\n'; } else if .....
function MM_validateForm() { //v4.0 var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { eRegEmail=new RegExp("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,5}$","gi"); etest=p.match(eRegEmail); if (etest!=p) errors+=' '+nm+' skal indeholde en gyldig e-mail adresse.\n'; } else if (test!='R') { num = parseFloat(val); if (isNaN(val)) errors+='- '+nm+' must contain a number.\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n'; } } } else if (test.charAt(0) == 'R') errors += ' '+nm+' skal udfyldes.\n'; } } if (errors) alert(' Der opstod en fejl:\n\n'+errors); document.MM_returnValue = (errors == ''); }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.