webForumDet fria alternativet

hur funkar det med regexpar?

ASP

11 svar · 248 visningar · startad av ingenvidare

Medlem sedan feb. 200321 inlägg
Frågan#1

hej igen mina favoritprogrammers!

kan nån förklara eller ge länk till hur det funkar med regexpar?

jag ska göra en registreringsgrej där man kan registrera sig med username, password och email.

hur gör jag för att kolla så att emailen är okej samt att username och password bara innehåller de tekcen jag vill?

jag vill att username och password bara ska innehålla a-ö, A-Ö samt 0-9 helst...

mvh
ingenvidare (kär i WebForum.nu!)

Medlem sedan dec. 20003 887 inlägg
#2
Dim objRE
Set objRE = New RegExp

objRE.Global = True
objRE.IgnoreCase = False
objRE.Pattern = "\[^a-zA-ZåäöÅÄÖ0-9]"

Set arrMatches = objRE.Execute(username)

If arrMatches.Count = 0 Then
    Set arrMatches = objRE.Execute(password)
    If arrMatches.Count = 0 Then
        'Ok!
    Else
        'Ogiltiga tecken i lösenordet
    End If
Else
    'Ogiltiga tecken i användarnamnet
End If

Det är en bit på vägen :)

Medlem sedan dec. 19998 577 inlägg
#3

Re: hur funkar det med regexpar?

ingenvidare skrev:

kan nån förklara eller ge länk till hur det funkar med regexpar?

http://www.webeye.nu/getArticle.asp?aid=asp_11.asp

Medlem sedan feb. 200321 inlägg
#4

härnösandsfolket har resurser!

Medlem sedan dec. 20003 887 inlägg
#5

Ett pattern för att leta upp mailadresser kan se ut så här: "(\w+\.?\w+)@(\w+\.?\w+)", men jag vet inte hur pålitligt det kan vara ;) Satt just och testade det lite grand och det fungerar ganska tillfredställande. Endast siffror och bokstäver tillåts och skulle det någonstans vara ett å, ä eller ö, så blir det ingen träff.

Medlem sedan feb. 200321 inlägg
#6

hmmm Engine^ jag får inte din lösning att fungera... det händer inget... vad kan vara felet?

Medlem sedan dec. 20003 887 inlägg
#7

Ja du, säg det, jag vet ju inte hur du har implementerat det...

Dim objRE
Set objRE = New RegExp

objRE.Global = True
objRE.IgnoreCase = False
objRE.Pattern = "\[^a-zA-ZåäöÅÄÖ0-9]"

Set arrMatches = objRE.Execute(username)
If Not arrMatches.Count = 0 Then
   'Ogiltiga tecken i användarnamnet
End If

Set arrMatches = objRE.Execute(password)
If Not arrMatches.Count = 0 Then
    'Ogiltiga tecken i lösenordet
End If

objRE.Pattern = "(\w+(\.?\w+)+)@(\w+(\.?\w+)+)"
Set arrMatches = objRE.Execute(email)
If Not arrMatches.Count = 0 Then
    '(Förmodligen) ogiltiga tecken i e-mailadressen
End If
Medlem sedan feb. 200321 inlägg
#8

hmmm jag får det fortfarande inte att funka

Dim objRE, username, password
username = request.form("username")
password = request.form("password1")
Set objRE = New RegExp

objRE.Global = True
objRE.IgnoreCase = False
objRE.Pattern = "\[^a-zA-ZåäöÅÄÖ0-9]"

Set arrMatches = objRE.Execute(username)
If Not arrMatches.Count = 0 Then
   'Ogiltiga tecken i användarnamnet
   Response.Redirect "feluser.asp"
End If

Set arrMatches = objRE.Execute(password)
If Not arrMatches.Count = 0 Then
    'Ogiltiga tecken i lösenordet
	Response.Redirect "felpass.asp"
End If
Medlem sedan dec. 20003 887 inlägg
#9

Förmodligen jag som är för grön på RegExp, men om du testar följande då...

Dim objRE, username, password
username = request.form("username")
password = request.form("password1")
Set objRE = New RegExp

objRE.Global = True
objRE.IgnoreCase = False
objRE.Pattern = "\[^a-zA-ZåäöÅÄÖ0-9]"

If objRE.Test(username) Then
   'Ogiltiga tecken i användarnamnet
   Response.Redirect "feluser.asp"
End If

If objRE.Test(password) Then
    'Ogiltiga tecken i lösenordet
    Response.Redirect "felpass.asp"
End If
Medlem sedan feb. 200321 inlägg
#10

nope man kan registrera sig ändå.
det verkar vara svårt detta men tack för att du hjälper ändå! :D

Medlem sedan dec. 200012 464 inlägg
#11
Dim objRE, username, password
username = request.form("username")
password = request.form("password1")
Set objRE = New RegExp

objRE.Global = True
objRE.IgnoreCase = False
objRE.Pattern = "^[a-zA-ZåäöÅÄÖ0-9]+$"

If not objRE.Test(username) Then
   'Ogiltiga tecken i användarnamnet
   Response.Redirect "feluser.asp"
End If

Ett password borde man väl få använda vilka tecken man vill i eller?

Om du vill ha en minimilängd/maxlängd så kan du använda

objRE.Pattern = "^[a-zA-ZåäöÅÄÖ0-9]{4,15}$"
Medlem sedan dec. 20003 887 inlägg
#12

Ahh... det kanske ska tillåtas mer än en bokstav :r

Jaja... sådana missar man måste göra för att förstå något :)

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)