10. november 2003 - 12:36Der er
9 kommentarer og 2 løsninger
Få data til at være ens og pæn
Jeg søger forslag til hvordan man lettest sikre at data bliver korrekt og pænt indtastet. F.Eks. En bruger indtaster sit navn som: peter jessen Systemet laver det selv om til: Peter Jessen
function LeadingCap(strIn) arrTemp = Split(strIn, " ") LeadingCap = Lcase(arrTemp(0)) LeadingCap = Ucase(Left(LeadingCap, 1)) & Mid(LeadingCap, 2) if Ubound(arrTemp)>0 then for i = 1 to Ubound(arrTemp) LeadingCap = LeadingCap & " " & arrTemp(i) next end if end function
Du kan enten vælge at køre et script på klientmaskinen, eller du kan gøre det på serveren. Er det kun den slags ændringer, der skal laves? Hvad hvis en bruher kalder sig for Peter "den store" Pedal? Skal det også rettes?
Hvis du vil gardere dig mod navne som Peter "den store" Pedal eller p<ter j--n33sen er du nødt til at lave en funktion, som løber navnet igennem og tester om alle tegn er blandt de tilladte. Den slags fejl kan systemet ikke selv rette, så her er det nødvendigt at bede brugeren om at taste om. Her vil det måske være mest praktisk at lade komtrollen foregå på brugerens maskine. Noget i stil med <input type=text name="navn" onChange="Kontrol()"> og Kontrol tester nu, om det indtastede kan bruges. Det kunne selvfølgelig også ske på serveren, men så kulle du sende alt det brugeren havde udfyldt tilbage til rettelse ho brugeren.
Men nu har du jo en funktion, der gør det, du ønsker. Der er grænser for hvor mange specielle VBscript funktioner der er indbygget. Ideen er jo, at man selv laver det, der ikke findes.
Det er rigtig nmh man kan lave alt det tror jeg ikke nogen er i tvivl om. Ideen var nu bare at undersøge om der var lavet 1 funktion som beskrevet oven for eller om andre havde en god løsning.
FirmaNavn = Lcase(Request.Form("FirmaNavn")) FirmaNavn = LTrim(FirmaNavn) FirmaNavn = RTrim(FirmaNavn) FirmaNavn = Ucase(Mid(FirmaNavn, 1, 1)) & Mid(FirmaNavn, 2, Len(FirmaNavn) - 1) For intCounter=1 To Len(FirmaNavn) IF Mid(FirmaNavn, intCounter, 1) = " " Or Mid(FirmaNavn, intCounter, 1) = "-" Or Mid(FirmaNavn, intCounter, 1) = "/" Then FirmaNavn = Mid(FirmaNavn, 1, intCounter) & Replace(FirmaNavn, Mid(FirmaNavn, intCounter + 1, 1), UCase(Mid(FirmaNavn, intCounter + 1, 1)), intCounter + 1, 1) End If Next
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.