Avatar billede nielle Nybegynder
04. august 2003 - 10:24 Der er 12 kommentarer og
1 løsning

Simpel validering via ASP - RegExp

Hvordan bruger jeg RegExp i ASP til at validere at en variabel ikke indeholder tekst med andre tegn end disse:

"abcdefghijklmnopqrstuvwxyz0123456789.+-_/"
Avatar billede medions Nybegynder
04. august 2003 - 10:36 #1
Fx. sådan her:
str = "test-andet+hmmm"
set regex = new RegExp
regex.global = true
regex.ignorecase = true
regex.pattern = "+|-"
str = regex.replace(str, "[beep]")

Sådan fx.

//>Rune
Avatar billede 7th Praktikant
04. august 2003 - 10:39 #2
Prøv med...

function checkInput(inputstreng)
dim regcon
set regcon = new RegExp
regcon.pattern = "^[abcdefghijklmnopqrstuvwxyz0123456789.+-_/]+$"
regcon.ignoreCase = true
checkInput = regcon.Test(inputstreng)
end function

if request.form("dit_inputfelt") <> empty AND checkInput(request.form("dit_inputfelt")) = false then
response.write "fejl"
end if
Avatar billede nielle Nybegynder
04. august 2003 - 10:40 #3
medions -> Jeg ville validere - ikke replace.
Avatar billede 7th Praktikant
04. august 2003 - 10:49 #4
regcon.pattern = "^[A-ZÆØÅa-zæøå0-9.+-_/ ]+$"
Avatar billede nielle Nybegynder
04. august 2003 - 10:50 #5
7th -> Jeg har lige afprøvet versionen:

dim MyRegExp
set MyRegExp = new RegExp
MyRegExp.Pattern = "^[bcdefghijklmnopqrstuvwxyz0123456789.+-_/]+$"
MyRegExp.IgnoreCase = true
OK = MyRegExp.Test(Domain)

- men hos mig giver den true selvom at Domain indeholder et 'a'.
Avatar billede nielle Nybegynder
04. august 2003 - 10:51 #6
a'et er fjernet for at jeg kan teste det.
Avatar billede nielle Nybegynder
04. august 2003 - 10:53 #7
Pointenn er at jeg allerede validere domæne et andet sted - via JavaScript - men nogle brugere kan alligevel snige sig forbi dette tjek. Derfor er jeg nødt til at have en ekstra validering i ASP.
Avatar billede 7th Praktikant
04. august 2003 - 11:05 #8
<%
function checkInput(inputstreng)
dim regcon
set regcon = new RegExp
regcon.pattern = "^[B-Zb-z0-9.+-/_]+$"
regcon.ignoreCase = true
checkInput = regcon.Test(inputstreng)
end function

if checkInput(request.form("tekst")) = false then
response.write "fejl"

else
response.write "godkendt"
end if
%>

<form action="test.asp" method="post" name="testform">
<input name="tekst" type="text" value=""><br><input name="send" type="submit" value="go">
</form>
Avatar billede 7th Praktikant
04. august 2003 - 11:08 #9
Jeg har checket, og den skulle være god nok nu :) RegExp er ikke min stærkeste side, og slet ikke i asp, men det var _ som var skyld i fejlen. _ skal placeres sidst efter /, så virker det :)
Avatar billede nielle Nybegynder
04. august 2003 - 11:11 #10
Takker.
Avatar billede 7th Praktikant
04. august 2003 - 11:12 #11
Hvis du vil have a med, så regcon.pattern = "^[A-Za-z0-9.+-/_]+$"
Avatar billede nielle Nybegynder
04. august 2003 - 12:09 #12
Jeg kender godt regexp's - det var bare den grundlæggende syntax i ASP jeg lige skulle have på plads. Takker endnu en gang.
Avatar billede 7th Praktikant
04. august 2003 - 19:46 #13
Så lidt, og tak for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester