Med ett reguljärt uttryck, antingen innan formuläret postas med clientside javascript eller efter formuläret har postats med serverside VBScript. Bäst är förmodligen att validera både före och efter... > Borde enligt din fråga räcka med uttrycket: ^\d$ Om du vill göra det efter postning kan du använda dig av funktionen IsNumeric("1234") som returnerar sant om det är numreriskt och falskt om det inte är det... Om du däremot vill göra det med javascript kan du läsa in dig lite på isNaN: asså alla andra fält jag validerar har jag gjort i asp typ så här: Ja, och om du enbart vill tillåta att användaren skrivit in siffror i phone kan du skriva såhär... Det finns väl en stor risk att du kommer att använda liknande kod igen. Ett tips att tänka på: Tänk på att IsNumeric kollar ifall värdet går att konvertera till ett tal, inte ifall värdet innehåller siffror. men jag vet inte riktigt hur jag ska utforma koden: just nu har jag ändrat så mkt så att sidan inte kan visas... men när jag kommenterar bort de ifsatsen kommer sidan fram... så visserligen är nåt fel i den if satsen... Läs under "Visa felmeddelanden":Sv: validering av nummer
Borde enligt din fråga räcka med uttrycket: ^\d$Sv:validering av nummer
Eller snarare:
För javascript: ^\d+$
För RegularExpressionValidator: \d+
:)Sv: validering av nummer
Mvh,
ThomasSv:validering av nummer
http://www.devguru.com/Technologies/ecmascript/quickref/isnan.html
/ThomasSv: validering av nummer
<code>
if (name = "") and (send_mail <> "") then
message= message & "<font size=1 face=verdana color=red>» Fyll i ditt namn</font><br>"
end if
if (phone = "") and (send_mail <> "") then
message= message & "<font size=1 face=verdana color=red>» Fyll i ditt telefon nummer.</font><br>"
end if
</code>
valideringen i sig fungerar... men jag vill köra valideringen på <b>"phone"</b>att de inte ska vara bokstäver utan siffrorSv:validering av nummer
<code>
if (name = "") and (send_mail <> "") then
message= message & "<font size=1 face=verdana color=red>» Fyll i ditt namn</font><br>"
end if
if (isNumeric(phone) = false) and (send_mail <> "") then
message= message & "<font size=1 face=verdana color=red>» Fyll i ditt telefon nummer.</font><br>"
end if
</code>
Läs om isNumeric:
http://www.devguru.com/Technologies/vbscript/quickref/isnumeric.html
/ThomasSv: validering av nummer
Jag rekommendera att läsa min artikel:
url:http://www.pellesoft.se/area/articles/article.aspx?artid=902>
Snabbt i huvudet så skulle jag göra någontin likande det här:
Sub CheckValue(sChecking,send_mail ,sWatt,sMessage)
Dim NotGood
Select Case sWatt
Case 1
if LEN(sChecking)= 0 THEN
NotGood = false
end if
Case 2
if (isNumeric(sChecking) = false)
NotGood = false
end if
if NotGood =false and len(send_mail ) > 0 then
response.write message = message & ""<font size=1 face=verdana color=red>» " & sMessage & "</font><br>"
end if
End Select
För att sedan använda mig av det:
call CheckValue((name ,send_mail ,1,"Fyll i ditt namn")
call CheckValue((phone,send_mail ,2,"Fyll i ditt telefon nummer")
När du väl kommer in i mitt tänkande, så är det ganska så enkelt.
Sv:validering av nummer
När du låter en användare fylla i formulär så kan du kontrollera de ifyllda värdena innan formuläret skickas så att du kan tala om för användaren direkt om något är missat eller felaktigt.
MEN, sådana javascriptkontroller kan lätt kringgås av en hacker så ur säkerhetssynpunkt så ska du ALLTID kontrollera även serverside med ASP så att alla värden är giltiga.
Detta gäller alla data som skickas från klienten till servern såsom formulärdata, querystrings och cookies.Sv: validering av nummer
&HEAD är till exempel ett giltigt tal...
Ifall du enbart vill godkänna siffror så kan du använda RegExp:
http://guffa.com.loopiadns.com/Programming_archive.asp?id=33Sv:validering av nummer
<code>
Function IsDigits(strNumber)
With New RegExp
.Pattern = "^\d+$"
IsDigits = .Test(strNumber)
End With
End Function
</code>
lite längre ner:
<code>
If not IsDigits(request.form("phone")) Then
message= message & "<font size=1 face=verdana color=red>» Fyll i ditt nummer, enbart med siffror.</font><br>"
elseif (phone = "") and (send_mail <> "") then
message= message & "<font size=1 face=verdana color=red>» Fyll i ditt nummer</font><br>"
end if
</code>
på nåt vis måste jag ha båda... men fel meddelandet kommer så fort sidan öppnasSv:validering av nummer
det jag vill är typ så här om man förklarar med ord:
<code>
if phone inte är siffror Then
skriv telefonummer med siffror
elseif phone är tomt then
fyll i nummer
end if
</code>
Men jag lyckas inte grrr... HELPSv: validering av nummer
http://guffa.com.loopiadns.com/Programming_article.asp?id=2
Det är ju lite svårt att säga vad som är fel utan ett riktigt felmeddelande.