ninaeMedlem sedan maj 20035 inlägg hejsan!
jag gör en inloggningssida där man ska logga in med sitt personnummer, typ 800522. nu vill jag göra om detta till 80-05-22. eftersom folk kan skriva in 19800522 kan det ju vara bra om man går bakifrån och sätter in - tecken.
nån som är snäll och vill hjälpa mig me lite kod?
mvh anna :f
CeeronMedlem sedan aug. 2000378 inlägg Jag vet inte om functionen CDat() kan omvandla sådana datum... Annars får nån annan skriva korrekt lösning...
PeeerMedlem sedan mars 20025 907 inlägg Välkommen till wF! :)
function conv_date(strInput)
select case len(strInput)
case 6
strResult = left(strInput,2) & "-" & mid(strInput,3,2) & "-" & right(strInput,2)
case 8
strResult = left(strInput,4) & "-" & mid(strInput,5,2) & "-" & right(strInput,2)
case else
strResult = "Fel antal siffror inmatat!"
end select
conv_date = strResult
end function
response.write conv_date("800522")
Möjligen har jag rört ihop det lite med siffrorna för mid()-funktionen.
r/ rättade till lite retliga fel (bl.a. siffrorna i mid()-funktionen) ;)
PalleMedlem sedan apr. 20003 174 inlägg Går att lösa på olika sätt.. här är ett:
[red]<%
Function makePersNr(str)
str = trim(str)
If Len(str) > 0 Then
If InStrRev(str, "-", -1, 1) > 0 Then str = Left(str, InStrRev(str, "-", -1, 1)-1)
str = Replace(str, "-", "")
str = Replace(str, " ", "")
If Len(str) > 6 Then str = mid(str,3,6)
str = mid(str,1,2) &"-"& mid(str,3,2) &"-"& mid(str,5,2)
End If
makePersNr = str
End Function
%>[/red]
Anropas med:
[red]makePersNr("800522")[/red]
Redigerat:
La till lite kod så nu bör dem flesta kombinationer fungera.. ex på kombinationer den fixar:
• 1980-05-22-8888
• 19800522-8888
• 1980 05 22
• 19800522 8888
• 800522-8888
• 800522
• 80 05 22
• 19800522
m.fl
solbulleMedlem sedan mars 20015 287 inlägg Palle, det där verkar ju hyfsat avancerat, och bra.
Men hur blir det om någon knappar in: 220580?
Lite hypotetisk fråga kanske.
PalleMedlem sedan apr. 20003 174 inlägg
solbulle skrev:
Palle, det där verkar ju hyfsat avancerat, och bra.
Men hur blir det om någon knappar in: 220580?
Lite hypotetisk fråga kanske.
Tveksam på att det finns personnummer som slutar på ? men man vet jag aldrig. :OO §e
Hur eller hur, då lägger man ett javascript i textfältet som förbjuder andra tecken än siffror. ;)
solbulleMedlem sedan mars 20015 287 inlägg Nja, jag menar inte att frågetecknet skulle vara med, jag undrar vad som händer om man knappar in det "tvärtom", alltså dag-månad-år.
@ndersMedlem sedan juni 200032 969 inlägg Några regler för input måste man ha. Det är omöjligt för ett script att gissa sig till vad som är månad och vad som är dag, och vad som är år, om delmängderna håller sig mellan 1 och 12.
Det bästa tipset är nog att reglera vad som kan matas in, antingen med ett javascript, eller att låta användarna välja år, månad och dag i separata <select>-menyer.
Hur som helst; Palles exempel verkar helt adekvat för detta.
Och sist, men inte minst: Välkommen till wF, ninae!
Mvh