Avatar billede inkognito1 Nybegynder
04. juli 2000 - 16:12 Der er 11 kommentarer og
1 løsning

Tjek om Cpr nummer er rigtig !!!

Jeg har en form hvor en bruger indtaster sit Cpr nummer eksempelvis 21-03-78. Den tjekker om der mindre end 1 bogstav og større end 8.

-------------

If len(stcpr) < 1 OR len(stcpr) > 8 then
                    validateForm = "invalid"
            cpr = "error"
                end if

------------

Hvordan kan man tjekke om brugeren skriver en rigtig dato. Min access database laver fejl når det er en dato der ikke findes.
Avatar billede boye Nybegynder
04. juli 2000 - 17:34 #1
Hvad med følgende: Den tjekker om der er skrevet to streger og den tjekker om dagtallet er mere end 31 og om månedtallet er mere end 12 og om der er 8 tegn... Hvis ikke alle kriterier er opfyldt så vil validateform være "Invalid". Hvis de er er den "valid"...

validateForm = "Invalid"
If len(stcpr)=8 then
If mid(stcpr, 3, 1)="-" then
  If mid(stcpr, 6, 1)="-" then
  If mid(stcpr, 1, 2)< 32 and mid(stcpr, 1, 2) > 0 then
    If mid(stcpr, 3, 2)< 13 and mid(stcpr, 1, 2) > 0 then
    validateForm="valid"
    end if
  end if
  end if
end if
end if

Håber det kan bruges...
Avatar billede erikjacobsen Ekspert
04. juli 2000 - 19:41 #2
Mener du cpr-nummer eller bare dato?
Avatar billede inkognito1 Nybegynder
04. juli 2000 - 19:46 #3
Alså hvis det kan lade sig gøre skal den bare tjekke om det er dato format.

Men der er tale om de 4 først i cpr nummert ja.

Det boye har skrevet virker måsek men passer ikke ind i resten af min kode.
Koden ser sådan ud
------------------
her tjekker den fejl
------------------
Dim validateForm, username, email, sex, adress, by, post, cpr, mobiltelefon, password, passwordRepeat, smsnews, emailnews, nameCheck, checkNameRs, sqlCheckName
       
        validateForm = "validated"
       
      If len(stUserName) < 1 OR len(stUserName) > 20 then
            validateForm = "invalid"
            userName = "error"
        end if

      If len(stadress) < 1 OR len(stadress) > 50 then
            validateForm = "invalid"
            adress = "error"
        end if

  If len(stpost) < 1 OR len(stpost) > 4 then
            validateForm = "invalid"
            post = "error"
        end if
       
        If len(stby) < 1 OR len(stby) > 20 then
            validateForm = "invalid"
            by = "error"
        end if

            If len(stcpr) < 1 OR len(stby) > 8 then
              validateForm = "invalid"
              cpr = "error"
              end if

        If len(stmobiltelefon) < 1 OR len(stmobiltelefon) > 8 then
            validateForm = "invalid"
            mobiltelefon = "error"
        end if
               
        If len(stemail) < 1 OR len(stemail) > 25 then
            validateForm = "invalid"
            email = "error"
        end if
       
        If len(stpassword) < 3 OR len(stpassword) > 10 then
            validateForm = "invalid"
            password = "error"
        end if

        If stpasswordrepeat <> stpassword then
            validateForm = "invalid"
            passwordRepeat = "error"
        end if
---------------
Her skriver den fejl
---------------
if validateForm = "invalid" then
        response.write "<FONT COLOR=""yellow""><B>"
        If userName = "error" then
            response.write "Fejl - Brugernavnet skal værer mellem 3 og 20 bogstaver. <BR>"
                end if

                        If adress = "error" then
            response.write "Fejl - Adressen må maks være på 50 ciffer. <BR>"
            elseif adressCheck = "error" then
                response.write "Adressen er registret i forvejen, enten har du lavet en fejl eller så eksistere du allerede i kartoteket. <BR>"
        end if

        If post = "error" then
            response.write "Fejl - Post nummer må maks være 4 ciffer. <BR>"
        end if
               
                If by = "error" then
            response.write "Fejl - By navn må maks være på 20 ciffer. <BR>"
        end if

            If cpr = "error" then
              response.write "Fejl - Er du født 10. Jan 1975 skriver du : 10-01-75<BR>"
        end if

                If mobiltelefon = "error" then
            response.write "Fejl - Mobiltelefon nummeret kan kun være 8 ciffer. <BR>"
        end if

        If email = "error" then
            response.write "Fejl - E-mail adresse må højest være på 25 ciffer. <BR>"
                elseif nameCheck = "error" then
                response.write "E-mail adressen er registret i forvejen, enten har du lavet en fejl eller så eksistere du allerede i kartoteket. <BR>"
        end if
   
        If password = "error" then
            response.write "Passwordet skal værer mellem 3 og 10 bogstaver. <BR>"
        elseif passwordRepeat = "error" then
                response.write "De to passwords er ikke ens. <BR>"
        end if
        response.write "</B></FONT>"
   
    end if
Avatar billede erikjacobsen Ekspert
04. juli 2000 - 20:07 #4
Hvad vil du give for noget kode, der checker hele cpr-nummeret, inklusive checkcifferet.... ? hehe...
Avatar billede dta Nybegynder
05. juli 2000 - 09:31 #5
HEr har du koden til at checke checksummen i et CPR nummer.

<%
cpr="230769-0155"
cpr = Trim(replace(cpr,"-",""))
CCheck = "4327654321"
For t = 1 to 10
    CSum = Csum + cbyte(mid(cpr,T,1))*cbyte(mid(CCheck,T,1))
next
If CSum mod 11 = 0 then
response.write "OK!"
else
response.write "Not OK!"
end if
%>
Avatar billede inkognito1 Nybegynder
05. juli 2000 - 20:02 #6
Det er med denne det går galt... Nogen der kan se fejlen
-------------
If mid(stcpr, 1, 2)< 32 and mid(stcpr, 1, 2) > 0 then
    stcpr = stcpr
    else
    validateForm = "invalid"
    cpr = "error4"
    end if
---------------
Avatar billede sjensen Nybegynder
05. juli 2000 - 21:23 #7
If (mid(stcpr, 1, 2)< 32) and (mid(stcpr, 1, 2) > 0) then
     cpr = stcpr
     else
     validateForm = "invalid"
     cpr = "error4"
     end if
 
 
Avatar billede tigerdyr Nybegynder
05. juli 2000 - 21:38 #8
Er det CPR numre du vil tjekke ???, så har jeg løsningen liggende (dog ikke i ASP), til både at tjekke CPR numre og for den sags skyld også til at lave dem :o)
Avatar billede inkognito1 Nybegynder
05. juli 2000 - 21:42 #9
If mid(stcpr, 1, 2) < 01 or mid(stcpr, 1, 2) > 31 then
    validateForm = "invalid"
    cpr = "error4"
    end if

den løst sådan her istedet ...
Avatar billede inkognito1 Nybegynder
05. juli 2000 - 21:43 #10
så jeg lukker spørsmålet
Avatar billede 1416 Nybegynder
05. juli 2000 - 21:45 #11
Hejsa! Jeg har noget liggende, heller ikke i ASP, men du kan måske omskrive det...det fylder ca 1,5 a4 side, så vil du hellere ha det pr. mail?
Avatar billede inkognito1 Nybegynder
05. juli 2000 - 21:48 #12
det skulle være ASP
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
Kurser inden for grundlæggende programmering

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