Har ett liteet problem!
Ska få in en tid i en databas.. och dom jag gör detta åt e ganska lata...
Dom orkar inte skriva 18:00 utan vill bara skriva 1800
hur gör jag för att stoppa in ett : efter dom 2 första tecknen?
e säkert jätte lätt men jag hittar inget kommando som skulle passa ;)
Tack på för hand
Det finns inget inbyggt i ASP som gör detta, du får göra en egen funktion som retunera detta åt dig.
Function FormatTime(value)
With New RegExp
.MultiLine = True
.Global = True
.Pattern = "(\d{1,2}):?(\d{2})"
ResultString = .Replace(value & "", "$1:$2")
End With
End Function
kan kanske fungera för dig.
Eller så kan du retunera det som ett "riktig" tid:
http://www.psacake.com/web/functions.asp?id=54
rhdfMedlem sedan okt. 2007447 inlägg Och bara för att vara på säkra sidan så bör du kolla vad som kommer från inputfältet, man kan få så mycket skojjiga fel om nån skriver in tex ABCD vilket (om jag tolkar voigtann1:s kod rätt kommer ploppa ut som ABCD dvs inget kolon
dvs du bör hantera MINST följande fall av input
ABCD
1800
18:00
3857
38:57
Lita aldrig på användare, de finns till för att göra livet svårt för oss utvecklare ;)
Jag tror dessutom man kan lösa det utan regexp, även om den där lösningen var snygg,
rhdf: Han bad om xxyy => xx:yy.
Men om han inte har en kontroll redan för att kolla datumet så går det med RegExp. Sen så verkar det även gå att skriva:
hej 20:11 som input data så...
Men om du inte har det så kan du använda dig av uttrycket istället:
"^(0?\d|1\d|2[0-3]):?([0-5]\d)$"
rhdfMedlem sedan okt. 2007447 inlägg Jo jag antar att TS kontrollerar sin input, men skall man vara jobbig så borde ju kontrollen också innebära att man nånstans konverterar sitt 1800 till 18:00 för att se så att det är en giltig tid, detta går ju att göra med javascript, men jag är så paranoid så jag litar inte 100% på det utan vill även ha en kontroll på serversidan med