Tänkte utveckla en liten vykortstjänst och behöver då slumpa fram en sträng som är 10 tecken lång och ska innehålla bokstäver och siffror. Förstår att jag ska använda mig utav reguljära uttryck men jag har ingen erfarenhet utav detta. Någon som kan knuffa mig i rätt riktning?
Om frågan är varför, så ta en titt på närmaste asciitabell (till exempel http://www.lookuptables.com/) så ser du att teckenkoderna för versaler börjar på 65, och gemener på 97.
26 betyder att du har använt 26 bokstäver,
Snarare hur många bokstäver det finns, inte hur många som här använts. Koden slumpar ju bara fram ett tecken i taget.
och varför
intRand = Int(3 * Rnd + 1)
Den slumpningen bestämmer i vilken ordning det skall komma en siffra, en gemen eller en versal. Titta på select case-satsen i koden.
intRand kan få värdena 1, 2 eller 3 genom den koden.
0 < Rnd < 1
Han ser alltså det som tre alternativ som passar in fint på de tre alternativ som finns för nästa tecken i lösenordet (big, small eller int). Är intRand 1 blir nästa tecken numeriskt, 2 = liten bokstav och 3 stor bokstav.
Koden lägger ett slumptal mellan 1 och 3 i variabeln intRand.
intRand bestämmer sedan, i select case-satsen, om det är en siffra, en gemen eller en versal som ska väljas för detta tecken.
Koden lägger ett slumptal mellan 1 och 3 i variabeln intRand.
intRand bestämmer sedan, i select case-satsen, om det är en siffra, en gemen eller en versal som ska väljas för detta tecken.
Han har en for-lopp som itererar 10 ggr. Varje loop lägger han till ett tecken till lösenordssträngen. Vilket slags tecken som läggs till bestäms genom select case-satsen.
for i = 0 to 10
' slumpa fram ett tecken för varje sort. (num, big, small)
' fixa en variabel som slumpvis har värdet 1, 2 eller 3
select case slumpvariabel
case 1 : lösenord = lösenord & siffra
case 2 : lösenord = lösenord & versal
case 3 : lösenord = lösenord & gemen
end select
exit for
returnera lösenord
Den jag har på min E-kortsida tar datum och tid och gör till en unik sträng för varje kort
<%=replace(Date(),"-","")%><%=replace(Time(),":","")%><%=left(replace(Time(),":",""),4)%>
Många olika lösningar i den här tråden. Men jag anser att hemmabyggena i den här tråden står sig ganska dåligt mot en riktig guid.
Antingen skapar man den direkt i databasen eller använder en funktion.
Function GetGuid()
Dim objTypeLib, sGuid
Set objTypeLib = Server.CreateObject("Scriptlet.TypeLib")
sGuid = objTypeLib.Guid
Set objTypeLib = Nothing
GetGuid = Left(sGuid, Len(sGuid) - 2)
End Function