Avatar billede webbe Nybegynder
10. juni 2004 - 14:33 Der er 13 kommentarer og
1 løsning

Vlidering af cpr-nr

Hejsa

Jeg søger et script der kan validere på et text-felt hvor der skal indtastes et cpr-nr.

Formatet skal være ddmmaa-xxxx

Hvis formatet står som ddmmaaxxxx - skal den selv rette til ovenstående.

Hvis formatet kun er indtastet som ddmmaa eller ddmmaaaa eller andre underlige kombinationer skal der komme en fejlmelding.

Nogen der kan hjælpe med det?
Avatar billede ullidk Nybegynder
10. juni 2004 - 14:38 #1
Det her er et PHP script til validering af CPR...det er godt nok til 10 cifre i rap, men du kan jo prøve at rette i det...
http://www.blconsulting.dk/site.php?_page=tipsphp.html
Avatar billede roenving Novice
10. juni 2004 - 14:38 #2
Indtastning af cpr-nummer ?-)

Er det en eller anden officiel side ?o]

Eller er det et lønsystem ?-)
Avatar billede roenving Novice
10. juni 2004 - 14:42 #3
function testCPR(fld){
  cpr = fld.value;
  cpr = cpr.replace(/^(\d{6})-?(\d{4})$/,"$1-$2");
  if(!cpr.match(/^\d{6}-\d{4}$/)){
    alert('Fejl i cpr-nummer');
    fld.focus();
    return false;
  }else fld.value = cpr;
}
Avatar billede webbe Nybegynder
10. juni 2004 - 14:49 #4
ullidk: Kan ikke bruge php!!

roenvig: prøver lige dit.

Det er til et officielt site, med tilmelding til kurser.
Avatar billede roenving Novice
10. juni 2004 - 14:55 #5
Jeg har også en egentlig validering af et cpr-nummers validitet, jeg tror det var loudrup, der skulle bruge det, det er en relativ simpel algoritme, som er brugt til at fremstille kontrolcifferet i et cpr-nummer ...

-- Og hvis du skal opsamle cpr-numre er det et must, at der etableres SSL-forbindelser, dvs. at din udbyder skal have et certifikat til at etablere en https-forbindelse !-)
Avatar billede webbe Nybegynder
10. juni 2004 - 15:00 #6
Kører allerede via SSL hvad angår kursus-tilmeldignerne.

Hvad er den bedste måde at kalde scriptet på?
OnChange, OnBlur eller.....?
Avatar billede webbe Nybegynder
10. juni 2004 - 15:07 #7
Aaahhh - fandt lige ud af at det var onBlur det var det smarteste.

roenving: pointene er dine ;0)
Avatar billede roenving Novice
10. juni 2004 - 15:08 #8
onchange og onblur kaldes i praksis samtidigt, så det er vel kun, hvis der er ændret, du har brug for at validere !-)

Men egentlig vil jeg sige, at onsubmit for formen er bedre ...
Avatar billede roenving Novice
10. juni 2004 - 15:10 #9
Hvorfor er onblur bedre end onchange ?-)

Der er ingen skade sket, da jeg ikke kender en browser/computer, som ikke vil klare ovenstående validering på under et millisekund, men funktionen vil blive kaldt hver gang feltet forlades, dvs. måske overflødigt !-)

-- og velbekomme '-)
Avatar billede webbe Nybegynder
10. juni 2004 - 15:30 #10
Det er den måske heller ikke....har ikke den store forstand på javascript.

Jeg har allerede en script jeg kalder ved onSubmit - hvordan kalder jeg 2 scripts på onsubmit?
Avatar billede roenving Novice
10. juni 2004 - 15:36 #11
Et validerings script ?-)

Sæt ovenstående ind i ...

-- men jeg skal lige kende typen, så jeg kan hjælpe dig med at gøre det rigtigt !-)
Avatar billede webbe Nybegynder
11. juni 2004 - 07:35 #12
Dette er mit valideringscript:

<script language="javascript">
<!--
function checkFormOnline( frm ){
   
    var periode = frm.periode.selectedIndex; //dropdownbox
    var pnavn = frm.navn1.value; //txt-felt
    var cprnr = frm.cprnr.value; //txt-felt
    var padr = frm.adr1.value; //txt-felt
    var pzip = frm.zip1.value; //txt-felt
    var pcity = frm.city1.value; //txt-felt
    var ptlf = frm.tlf1.value; //txt-felt
    var mail = frm.mail.value; //txt-felt til e-mail validering
    var newsmail = frm.newsmail; //radioknap
    var akasse = frm.akasse; //radioknap
    var ydelse = frm.ydelse; //radioknap
    var udd = frm.udd; //radioknap
    var hudd = frm.hudd; //radioknap
    //var year5 = frm.year5term; //radioknap
    var injob = frm.injob; //radioknap
    //var af = frm.af; //radioknap
    var aid = frm.cashaid; //radioknap
    var err = "";
   
    //dropdownbox validering
    (periode == 0 )?err+="* Husk at vælge kursusperiode!\n":void(null);
    //txt-felt validering
    (pnavn.length == 0 )?err+="* Husk at indtaste dit navn!\n":void(null);
    (padr.length == 0 )?err+="* Husk at indtaste din adresse!\n":void(null);
    (pzip.length == 0 )?err+="* Husk at indtaste dit postnummer!\n":void(null);
    (pcity.length == 0 )?err+="* Husk at indtaste et bynavn!\n":void(null);
    (ptlf.length == 0 )?err+="* Husk at indtaste dit telefon-nummer!\n":void(null);
    //e-mail validering
    (mail.indexOf("@") < 0 )?err+="* E-mail adressen mangler eller er ugyldig!\n":void(null);
    //radioknap validering
    if (    !newsmail[0].checked && !newsmail[1].checked ) {  // ingen af dem er valgt
            err += "* Angiv om du vil modtage kursusudbud pr. e-mail!\n";
        }
    if (    !akasse[0].checked && !akasse[1].checked ) {  // ingen af dem er valgt
            err += "* Angiv om du er medlem af en A-kasse og - hvis JA - hvilken!\n";
        }
    if (    !ydelse[0].checked && !ydelse[1].checked ) {  // ingen af dem er valgt
            err += "* Angiv om du modtaget kursusgodtgørelse/orlovsydelse i mere end 6 uger!\n";
        }
    if (    !udd[0].checked && !udd[1].checked ) {  // ingen af dem er valgt
            err += "* Angiv om du har en uddannelse og - hvis JA - hvilken!\n";
        }
    if (    !hudd[0].checked && !hudd[1].checked ) {  // ingen af dem er valgt
            err += "* Angiv om du har en højere uddannelse og - hvis JA - hvilken!\n";
        }
    //if (    !year5[0].checked && !year5[1].checked ) {  // ingen af dem er valgt
    //        err += "* Angiv om du har arbejdet indefor dit fag inden for de sidste 5 år!\n";
    //    }
    if (    !injob[0].checked && !injob[1].checked ) {  // ingen af dem er valgt
            err += "* Angiv om du er i beskæftigelse!\n";
        }
    //if (    !af[0].checked && !af[1].checked ) {  // ingen af dem er valgt
    //        err += "* Angiv om du er tilmeldt Arbejdsformidlingen!\n";
    //    }
    if (    !aid[0].checked && !aid[1].checked ) {  // ingen af dem er valgt
            err += "* Angiv om du er på kontanthjælp!\n";
        }
   
    if( err.length > 0 ){
        alert( err );
            return false;
    }
    return true;
    }
    -->
</script>
Avatar billede roenving Novice
11. juni 2004 - 13:29 #13
Lige før det sidste (som jeg også kopierer med !-)

  cpr = cprnr.replace(/^(\d{6})-?(\d{4})$/,"$1-$2");
  if(!cpr.match(/^\d{6}-\d{4}$/)){
    err += '* Fejl i cpr-nummer\n';
  }else frm.cprnr.value = cpr;

    if( err.length > 0 ){
        alert( err );
            return false;
    }
    return true;
    }
    -->
</script>
Avatar billede webbe Nybegynder
11. juni 2004 - 19:47 #14
thanx
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