Avatar billede tblaster Nybegynder
01. september 2003 - 14:12 Der er 14 kommentarer og
2 løsninger

Undersøge om felt i form kun indeholder tal

Hvordan er det jeg undersøger om et felt kun indeholder tal og ikke andet?

Request.Form("Antal")

Hvis der er andet end tal skal brugeren få en fejl besked.
Avatar billede socle Nybegynder
01. september 2003 - 14:14 #1
if isnumeric(request.form.item("antal")) then
  response.write("tal")
else
  response.write("ikke tal")
end if
Avatar billede eagleeye Praktikant
01. september 2003 - 14:18 #2
isNumeric godkender også komma tal og vist nok også en tom streng.
Avatar billede tblaster Nybegynder
01. september 2003 - 14:21 #3
Hvordan sikre jeg så at det kun er tal og ikke noget andet?

Det skal bla bruges hvor man skal angive et helt antal dage samt et telefon nummer ...
Avatar billede socle Nybegynder
01. september 2003 - 14:29 #4
if vartype(request.form.item("antal")) = 2 then
  response.write("tal")
else
  response.write("ikke tal")
end if

?måske
Avatar billede eagleeye Praktikant
01. september 2003 - 14:29 #5
Du kan bruge Regular Expression som denne funktion:


Function isHeltal(str)
    Dim regex As New RegExp
    regex.Pattern = "^[0-9]+$"
    isHeltal = regex.Test(str)
End Function


if isHeltal("38747f") then
  'OK
else
  'Fejl ikke et hel tal
end if
Avatar billede tblaster Nybegynder
01. september 2003 - 14:40 #6
Eagleeye ... har prøvet dette:

Function isHeltal(str)
    Dim regex As New RegExp
    regex.Pattern = "^[0-9]+$"
    isHeltal = regex.Test(str)
End Function

If Not isHeltal("" & Request.Form("Antal") & "") then
Response.write "Du har angivet en forkert værdi i antals feltet.<br><br>"
Response.write "<a href=""java script:history.go(-1)"">Tilbage</a>"
Response.End

Det giver denne fejl:
Expected end of statement

Dim regex As New RegExp
Avatar billede tblaster Nybegynder
01. september 2003 - 14:42 #7
Socle ... med din accepter den intet ... heller ikke rene tal:

If Not vartype(request.form.item("antal")) = 2 Then
Response.write "Du har angivet en forkert værdi i antals feltet.<br><br>"
Response.write "<a href=""java script:history.go(-1)"">Tilbage</a>"
Response.End
End If
Avatar billede eagleeye Praktikant
01. september 2003 - 14:45 #8
Så ændre:

Dim regex As New RegExp


Til:

Dim regex = New RegExp
Avatar billede eagleeye Praktikant
01. september 2003 - 14:48 #9
Du behøver ikke "" & og & "" i denne linje:

If Not isHeltal(Request.Form("Antal")) then
Avatar billede tblaster Nybegynder
01. september 2003 - 14:48 #10
Det giver det samme:

Expected end of statement
Dim regex = New RegExp
Avatar billede eagleeye Praktikant
01. september 2003 - 14:52 #11
Køre du Chili!ASP?
Avatar billede cesil Nybegynder
01. september 2003 - 14:52 #12
Function isHeltal(str)
    Dim regex
    Set regex = New RegExp
    regex.Pattern = "^[0-9]+$"
    isHeltal = regex.Test(str)
End Function
Avatar billede tblaster Nybegynder
01. september 2003 - 14:58 #13
Det hjalp ... smid et svar!

Thx for hjælpen!

Nope eagleeye ... jeg køre ikke Chili!ASP
Avatar billede cesil Nybegynder
01. september 2003 - 15:06 #14
det var eagleeys function jeg rettede i. Det er hans point.
Avatar billede eagleeye Praktikant
01. september 2003 - 15:13 #15
Vi kan da dele point cesil ;)
Jeg havde husket det som Dim bla = bla var Ok
Avatar billede cesil Nybegynder
01. september 2003 - 15:31 #16
Det kan vi da godt. :-)
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