Avatar billede encorez Nybegynder
19. december 2009 - 15:08 Der er 1 kommentar og
1 løsning

Test for tal og bogstaver

Hej

Jeg kager noget rundt i dette lille problem.
Jeg vil illustrere her

$string = "dsad323";

if(($string==kun bogstaver and $string==2 karaktere) or ($string==kun tal and  $string==3 karaktere)) echo "Godkendt";
else echo "ikke godkendt";

Jeg har prøvet dette
if( (is_numeric($string) and strlen($string)==3)) or (is_string($string) and strlen($string)=='2')))

Men det virker ikke. Sikkert fordi den opfatter tal som bogstaver.

Hvordan tester jeg nemmest for at den enten KUN er tal eller KUN er bogstaver?
19. december 2009 - 16:00 #1
Brug regular expressions og funktionen preg_match:

<?
$string="120";
if
(
  preg_match("/^[a-zA-Z]{2}$/", $string)
  or preg_match("/^[0-9]{3}$/", $string)
)
echo "Godkendt";
else echo "Ikke godkendt";
?>

Det virker paa et engelsk (eller ikke-dansk) tastatur som jeg har.  Hvis du ogsaa vil have ae, oe, og aa med (paa dansk) skal din foerste expression vaere:

preg_match("/^[a-zA-ZaeoeaaAEOEAA]$/", $string)

med ae o.s.v erstattet med de danske bogstaver.
Avatar billede encorez Nybegynder
19. december 2009 - 16:21 #2
det virker perfekt og så er det simpelt. Tak for det :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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