webForumDet fria alternativet

Bara tillåta vissa tecken..?

ASP

13 svar · 484 visningar · startad av koltrasten

Medlem sedan okt. 2002272 inlägg
Frågan#1

Request.Form("Anvandarnamn") får bara innehålla

bokstäver från A-Ö
mellanslag
_
-

Innehåller det något annat tecken än detta (ex. ~) skall det ge ett felmeddelande.

Hur gör man..?

Jag är så usel på det här med strängar...

Medlem sedan okt. 20005 273 inlägg
#2

koltrasten skrev:

Jag är så usel på det här med strängar...

Det bästa man kan göra då är att fråga på wF ;) Eller lära sig lite mer om RegExp :)

Eftersom jag inte kan regExp heller så kan jag bara ge dig en länk till en bra sida som tar upp ämnet http://www.webeye.nu/default2.asp?que=asp/default.asp&exec=asp/artiklar/asp_11.asp

mvh icaaq

Medlem sedan dec. 19998 577 inlägg
#3

Något sånthär kanske:

Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.pattern = "[a-zåäöA-ZÅÄÖ_-\s]"

if objRegExp.text( strDinText ) then
  response.write "Texten är rätt"
else
  response.write "Texten är fel"
end if

Är lite osäker på om man måste ange "[a-zåäö]" eller om "[a-ö]" räcker, eftersom iso-standarden innehåller en massa andra tecken mellan "z" och "ö"

Mvh, Vide

Medlem sedan okt. 2002272 inlägg
#4

Tack!

Medlem sedan aug. 2002207 inlägg
#5

Vide: Du måste skriva [a-zåäö] (precis som du har gjort)

Medlem sedan dec. 19998 577 inlägg
#6

Tack för det, då vet jag. :D

Medlem sedan okt. 2002272 inlägg
#7

Varför kommer det

Object doesn't support this property or method: 'objRegExp.text'

då jag testar ovanstående kod?
Raden är den där det står if objRegExp.text( strDinText ) then

Medlem sedan dec. 19998 577 inlägg
#8

Ghhaaa... skrev fel :l

objRegExp.test skall det naturligtvis vara... ;)

Medlem sedan okt. 2002272 inlägg
#9

Nu funkar det nästan. Men det bidde:

Invalid range in character set

Jag har fått fram att det bör vara något med objRegExp.pattern att göra, för det genererar inte felmeddelande om jag skriver ex. [a-z]

Vad är det som är galet?

Tack, tack!

Medlem sedan dec. 19998 577 inlägg
#10

Hmm... okej, testa detta då:

objRegExp.pattern = "[a-zåäöA-ZÅÄÖ_\45\s]"
Medlem sedan dec. 200012 464 inlägg
#11
objRegExp.pattern = "[a-zåäöA-ZÅÄÖ_\-\s]"
Medlem sedan okt. 2002272 inlägg
#12

Bl.a. }[ returnerar Texten är fel

Men varför blir bl.a. @ rätt?

Medlem sedan dec. 200012 464 inlägg
#13
Set objRegExp = New regexp
objRegExp.Global = true
objRegExp.IgnoreCase = true
objRegExp.pattern = "[^a-zåäöA-ZÅÄÖ_\-\s]"

if not objRegExp.text( strDinText ) then
  response.write "Texten är rätt"
else
  response.write "Texten är fel"
end if
Medlem sedan okt. 2002272 inlägg
#14

Tack så hjärtligt!!

269 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)