Avatar billede bhn.314 Nybegynder
01. april 2005 - 15:04 Der er 9 kommentarer og
1 løsning

check om der er et tal i streng vha. eregi

Jeg vil gerne tjekke at navne IKKE har tal og at adresser HAR tal. Jeg har forsøgt med følgende men det virker ikke - nogle forslag?

$name="Peter 52"

if(ereg("^[0-9]*$", $name))
    "Fejl: Der er tal i navn"


$adresse="Vejen"

if(!ereg("^[0-9]*$", $adresse))
    "Fejl: Der er IKKE tal i adresse"
Avatar billede bromer Nybegynder
01. april 2005 - 15:10 #1
<?
$name="Peter 52";

if(ereg("[0-9]*", $name))
  print  "Fejl: Der er tal i navn";


$adresse="Vejen";

if(!ereg("[0-9]", $adresse))
  print  "Fejl: Der er IKKE tal i adresse";

?>

Jeg har rettet flere ting. For det første skal du huske at slutte din linier med ";". Derudover så har jeg rettet lidt i din reg så den ikke kun leder efter tal i starten af strengen men derimod i hele strengen.
Avatar billede bhn.314 Nybegynder
01. april 2005 - 15:35 #2
NEJ, det virker ikke - har selv prøvet det. PHP fejler også selvom der ikke er tal i. Prøv selv.
Avatar billede bhn.314 Nybegynder
01. april 2005 - 15:38 #3
$name="Peter 67"

if(ereg("[0-9]*", $name))
  print  "Fejl: Der er tal i navn";

// = Fejl: Der er tal i navn

$name="Peter"

if(ereg("[0-9]*", $name))
  print  "Fejl: Der er tal i navn";

// = Fejl: Der er tal i navn
Avatar billede bromer Nybegynder
01. april 2005 - 15:41 #4
Ja det kan jeg se nu. Der var nu ingen grund til at afvise mit svar, da jeg jo gerne vil hjælpe dig. Jeg har nu brugt preg_match, da jeg synes bedre om den. Jeg testede den nu, og denne burde virke:

<?

$name="Peter 12";

if(preg_match("/\d/", $name))
  print  "Fejl: Der er tal i navn";


$adresse="Vejen 12";

if(!preg_match("/\d/", $adresse))
  print  "Fejl: Der er IKKE tal i adresse";
Avatar billede bhn.314 Nybegynder
01. april 2005 - 16:11 #5
Hey DET virker: Smid et svar og få point
Avatar billede bromer Nybegynder
01. april 2005 - 16:15 #6
jo tak
Avatar billede plx Nybegynder
01. april 2005 - 16:49 #7
og grunden til at den fejler er jo, at * betyder 0 eller flere gange.
Avatar billede plx Nybegynder
01. april 2005 - 16:50 #8
dvs. denne vil virke efter hensigten:

if(ereg("[0-9]", $name))
Avatar billede bromer Nybegynder
01. april 2005 - 16:56 #9
ja det stå jeg godt. Eller "*" kunne erstattes med et "+"
Avatar billede bhn.314 Nybegynder
04. april 2005 - 10:24 #10
Here you go....
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