webForumDet fria alternativet

Endast heltal i input-fält

8 svar · 350 visningar · startad av addeweb

addewebMedlem sedan jan. 2004216 inlägg
#1

Vilken funktion används för heltal(integer) i input-fält? Jag har ett
formulär som används för att anmäla sig till olika aktiviteter. Ett
input-fält i formuläret är till för att bjuda antal gäster som man
tar med. Man ska inte tillåta att skriva in andra tecken än siffror i
fältet. Jag har också sökt här i forumet. De träffar som jag fått
motsvarade inte det som jag sökte. Jag använder PHP. Finns det
någon som har gjort något liknande?

Web-TorMedlem sedan nov. 200013 890 inlägg
#2

is_int borde funka för att se om det är ett heltal.

MatteMedlem sedan aug. 20002 975 inlägg
#3

Det som kommer från formuläret är en sträng, så is_int() kommer inte att godkänna det som heltal.

Det går visserligen då använda is_numeric(), men det tillåter även flyttal.

Du får nog köra ett regexp:

if (preg_match("/^\\d$/", $variabel)) {
   echo 'Är ett heltal';
}
daniiMedlem sedan sep. 2004215 inlägg
#4

du menar väl

"/^**\**d$/"

addewebMedlem sedan jan. 2004216 inlägg
#5

ereg() är väl också ett alternativ?

MatteMedlem sedan aug. 20002 975 inlägg
#6

danii skrev:

du menar väl

"/^**\**d$/"

Glömmer alltid bort att man behöver skriva dubbla backslash i regexpar i detta forum, för att få det på skärmen :)

MatteMedlem sedan aug. 20002 975 inlägg
#7

addeweb skrev:

ereg() är väl också ett alternativ?

preg-funktionerna som använder PCRE anses snabbare än ereg-funktionerna som använder POSIX.

lunne82Medlem sedan dec. 2003153 inlägg
#8

Man kan alltså inte göra nåt i stil med detta?

$tal = (int)$_POST['fält'];
if (is_int($tal))
  echo "Is int";
addewebMedlem sedan jan. 2004216 inlägg
#9

Jag är klar med denna funktion och den fungerar perfekt!

<?php
if(!ereg("^[0-9]+$", $_POST["antalgaster"])) {

    	wrong("Inga andra tecken än siffrorna 0-9 är tillåtna!");
}
?>
133 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)