webForumDet fria alternativet

Stensäker textruta

ASP

5 svar · 202 visningar · startad av Toonster

Medlem sedan feb. 20001 590 inlägg
Frågan#1

Behöver lite hjälp med en textruta. Tanken är att man bara ska kunna ange 0 - 9 som ett giltigt val allt annat, inkl bokstäver o spec tecken skall inte läsas. Någon som har en kodsnutt färdig som kan "checka" detta?
(textrutan skickas med ett formulär till en sida som validerar)
/T

Medlem sedan mars 200046 inlägg
#2

Gå in på denna sidan (sida från sv.bilprovning): http://194.103.56.194/Login
Där finns den funktionen du vill åt. Men den är i Javascript.

Har förkortat ner koden till detta:

<HTML><HEAD>
<script Language=Javascript>

function loginField() {
// Kollar så att pw är numerisk

   var checkOK = '0123456789';
   var checkStr1 = document.login.pw.value;
   var allValid = true;
   for (i = 0;  i \< checkStr1.length;  i++)
       ch = checkStr1.charAt(i);
       for (j = 0;  j \< checkOK.length;  j++)
           if (ch == checkOK.charAt(j))
                  break;
           if (j == checkOK.length) {
               allValid = false;
               alert('Koden måste vara numerisk !');
               return allValid;
           }

}
</script>

<TITLE>Login</TITLE>
</HEAD>
<BODY>
<form name=login method=post action=/LoginWh onSubmit="return loginField();">
pw:
<input type=text name=pw size=10 tabindex="2" maxlength=12>
<br>
<INPUT type="submit" value="Submit" id=submit1 name=submit1>
</form>
</BODY>
</HTML>

/daniel

[Redigerat av borg den 16 maj 2000]

Medlem sedan mars 200046 inlägg
#3

ops! Hittade ett fel i "deras" kod. :e

Om man skriver in ex."asd1" så skickas man vidare ändå. Strängen får alltså inte sluta på ett numeriskt värde.

Ändra till detta:

function loginField() {
// Kollar så att pw är numerisk

var checkOK = '0123456789';
var checkStr1 = document.login.pw.value;
var allValid = true;

for (i = 0; i < checkStr1.length; i++)
{
ch = checkStr1.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
alert('Koden måste vara numerisk !');
return allValid;
}
}
}
</script>

/daniel

[Redigerat av borg den 16 maj 2000]

Medlem sedan mars 200046 inlägg
#4

Oj! Läste igenom din fråga igen. Mitt svar är helt åt h****te va? :r aaagh, skall nog inte ge mig in och försöka svara igen. x(

/daniel

Medlem sedan dec. 19998 577 inlägg
#5

Bästa sättet är kanske att använda sig av Regular expression...

<%
Set ObjRegExpr = New Regexp
ObjRegExpr.pattern = "[0-9]{1}"
ObjRegExpr.Global = True
ObjRegExpr.IgnoreCase = True

Str = "din textsträng här"

Set colmatch = ObjRegExpr.Execute(str)

Response.write match.value
%>

>>ObjRegExpr.pattern = "[0-9]{1}"
[0-9] ställer in vilka tecken som skall tillåtas och {1} anger hur många.

match.value kommer nu att innehålla ditt värde...

------------------
        )|(
       (o o)
-oo0-(_)-0oo-----
webeye.nu

Medlem sedan feb. 20001 590 inlägg
#6

Dessa forum är fantastiska. Nu kan jag "bara" klippa och klistra på några sekunder. Mycket bra eftersom tiden annars aldrig räcker till...

/T

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