Avatar billede mpless Nybegynder
11. april 2003 - 18:03 Der 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]

TAK !!! :)
Avatar billede mortrr Praktikant
11. april 2003 - 19:06 #1
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 .....
Avatar billede mpless Nybegynder
11. april 2003 - 20:07 #2
hmmm ...
Jeg får javascript fejl.
Der mangler en }
Hvor skal den mon sættes ??
Avatar billede mpless Nybegynder
11. april 2003 - 20:09 #3
Du må evt. gerne skrive den om til kun at validere e-mail ...
Avatar billede mpless Nybegynder
11. april 2003 - 20:10 #4
- og der er ingen JS fejl, hvis jeg submit´er uden at indtaste noget , kun JS Warning ... ("Email skal udfyldes")
Avatar billede Slettet bruger
12. april 2003 - 10:00 #5
Avatar billede mortrr Praktikant
12. april 2003 - 14:13 #6
Der var faktisk også en { for meget

Hele din funktion bliver til:

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 == '');
}
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester