webForumDet fria alternativet

Tillåtna tecken med RegExp.

ASP

2 svar · 352 visningar · startad av Frezze

Medlem sedan apr. 2004114 inlägg
Frågan#1

Ja, jag har sökt och har fått lite resultat, men inte vad jag är ute efter helt. Har lyckats sätta ihop en funktion som fungerar nått så när. Dock så släpper den igenom exempel som "...", och enligt som jag ser det som nedan så bör inte koden släppa igenom punkter, men de gör det i alla fall. Någon med en bättre lösning?

Tack på förhand!

Function CheckSign(strText)
With New RegExp
.Global = true
.IgnoreCase = true
.Pattern = "[a-z/A-Z/0-9/_/-/-/%/?/ /[/]/{/}/(/)/!/=/&]"
CheckSign = .Test(strText)
End With
End Function

If CheckSign(username) Then
Response.Redirect "register.asp"
end if
Medlem sedan dec. 19996 721 inlägg
#2

Det var en lite konstig pattern. Vad är målet?

Medlem sedan apr. 2004114 inlägg
#3

emission skrev:

Det var en lite konstig pattern. Vad är målet?

Haha, ja, verkligen något man inte ser varje dag. ;) Nåja, tanken är (ja, bara tanken, då koden tycks ju inte fungera) att enbart dessa tecknen ska släppas igenom som godkända;
a-z, A-Z, 0-9, _, -, %, ?, (=mellanslag/space), [, ], {, }, (, ), !, =, &

Förmodligen ser det osmart ut att först köra inställning i RegExp på att den inte ska göra någon skillnad på versaler och gemener, och sedan skriva a-z/A-Z, men när det gäller RegExp så kör jag alltid med "för säkerhets skull". :)

---------------------------------------------------------------------

Löste det med detta pattern;
^[\w\-\[\]\(\)\ \{\}\@]+$

Plus att det ska vara;
if not ...

Så nu är allt frid och fröjd.

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)