regexp fungerar inte så bra.
Jag försöker göra min egna valideringsfunktion.
Men den funkar inte så jättebra dessvärre.
Oavsett vad jag skickar in så godkänner den det.
Om man skickar in tex "en jättelång text" tillsammans med typen "textString" så lirar allt perfekt, men om man lägger till ett par siffror så funkar det fortfarande.
Jag antar att det är något fel i själva regexp:et, men jag förstår inte vad det är.
Någon som ser något uppenbart fel?
<% Function validate_input(input_type, input_string) Select Case input_type Case "textString" set RExp = new RegExp with RExp .Pattern = "^[a-z A-Z å Å ä Ä ö Ö ]" .IgnoreCase = True .Global = True end with result = RExp.test(input_string) Case "numericString" set RExp = new RegExp with RExp .Pattern = "^[0-9]" .IgnoreCase = True .Global = True end with result = RExp.test(input_string) Case Else result = "Något helt annat..." End Select validate_input = result End Function response.Write(result) textstring = "123A" inputType = "numericString" response.Write(validate_input(inputType, textstring)) %>
Svara
Sv: regexp fungerar inte så bra.
Spontant så ser det rätt skumt ut. Borde inte
.Pattern = "^[a-z A-Z å Å ä Ä ö Ö ]"
snarare vara typ
.Pattern = "^[a-zA-ZåÅäÄöÖ]*"
?
Svara
Sv: regexp fungerar inte så bra.
Ditt utryck säger att input_string skall börja med en bokstav och inget annat antar att du vill att den skall testa om det är bara bokstäver i uttrycket? Då fungerar det bättre med:
"^[a-z A-Z å Å ä Ä ö Ö]+$" - mellan början (^) och slutet ($) får det vara bokstäverna som står i [], en eller flera gåger (+).
samt
"^[0-9]+$" för den numeriska.
Svara