03. august 2005 - 12:33Der er
42 kommentarer og 1 løsning
Undersøge om variabel er tal mellem 1 og 100 og kun hele tal
Hej, jeg har forsøgt at finde på en måde at tjekke følgende: if (!$tal){fejl} if ($tal indeholder andet end tal - feks tegn eller bogstaver){fejl} if ($tal ikke er et helt tal){fejl} if ($tal ikke er mellem 1 og 999 begge inkl){fejl}
Jeg kan sku ik finde på en løsning :o) Sådan er det vel bare en gang imellem :o)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
$tal skal være et nummer mellem 1 0g 999 - ikke andet!
Jeg er kommet frem til disse muligheder: if ( (!$tal)||($tal<1)||($tal>999)||(!preg_match("/^[1-9][0-9]{0,2}$/", $tal)) ){fejl} if ( (!$tal)||($tal<1)||($tal>999)||(!preg_match ("/^([0-9]+)$/", $tal)) ){fejl} if ( (!$tal)||($tal<1)||($tal>999)||((int)$tal != $tal) ){fejl}
Virker de efter hensigten? Er der en der er bedst at bruge?
Synes godt om
Slettet bruger
03. august 2005 - 15:01#23
/^[1-9][0-9]{0,2}$/ Den beder om, at der (den første [1-9]) skal være ét tal mellem 1 og 9, det næste betyder, at der kan være 1 eller 2 tal mere, der skal være mellem 0 og 9.
Synes godt om
Slettet bruger
03. august 2005 - 15:01#24
Og jo, (int) betyder, at det bliver lavet til et heltal
Synes godt om
Slettet bruger
03. august 2005 - 15:04#25
Den her bør virke efter hensigten: if(!isset($tal) || !preg_match("/^[1-9][0-9]{0,2}$/", $tal))
Det vil også virke, men være mindre korrekt, at bruge den her:
Det er vigtigt at den tjekker det ordentligt, for ellers går der ged i en masse. Det skal være et tal og mellem 1 og 999. Jeg er ligeglad om det er overdrevet overkill osv. bare jeg er sikker på at det virker :o)
Jeg er virkelig glad for jeres hjælp og mon ik vi kan komme til en konklusion :o)
Sådan set behøver vi jo ikke komme til en konklusion - det bør du selv! Der kan være en masse løsninger, som alle kommer til samme resultat. Prøv løsningerne af, og se hvilken der passer bedst til dit behov :)
Tak for point ;o) Jeg er ked af at jeg var den eneste der fik point, da jeg jo, på sin vis, hijackede dette spørgsmål :/
Synes godt om
Ny brugerNybegynder
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.