Avatar billede learner Praktikant
06. januar 2012 - 16:26 Der er 16 kommentarer og
1 løsning

tjek om husnummer i adressen

Hej jeg skal tjekke om der er husnummer i adressen

Jeg har fundet dette:
function ctype_int($text){
    return preg_match('/^-?[0-9]+$/', (string)$text) ? true : false;
}

ctype_int("borgergade") skal give false
ctype_int("borgergade 1b") skal give true
ctype_int("borgergade 1, 1th") skal give true

Jeg er ikke så god til preg_match og vil blot spørge om det ser korrekt ud?

På forhånd tak, og så håber jeg at andre kan bruge det her også, fx til at tjekke om folk har indtastet husnummeret i adressen.
Avatar billede learner Praktikant
06. januar 2012 - 16:40 #1
eller er det:

function is_integer_inside_string($text){
    return preg_match('/^?[0-9]+$/', $text) ? true : false;
}
Avatar billede erikjacobsen Ekspert
06. januar 2012 - 17:00 #2
Nok bare

function is_integer_inside_string($text){
    return preg_match('/[0-9]/', $text) ? true : false;
}
Avatar billede erikjacobsen Ekspert
06. januar 2012 - 17:00 #3
Nok bare

function is_integer_inside_string($text){
    return preg_match('/[0-9]/', $text) ? true : false;
}
Avatar billede olebole Juniormester
06. januar 2012 - 17:40 #4
<ole>

Hva' så, hvis man bor her?  =)

/mvh
</bole>
Avatar billede learner Praktikant
07. januar 2012 - 11:38 #5
ole: hvem spørg du? mig eller erik?
Avatar billede learner Praktikant
07. januar 2012 - 11:39 #6
den skal jo bare tjekke om
if (der er et eller flere numre, et eller andet sted i strengen)
Avatar billede erikjacobsen Ekspert
07. januar 2012 - 14:39 #7
Men det er netop det, der ikke er et veldefineret problem, som Ole skriver.

  Forkert:  Christian 8. Vej   
  Korrekt:  Christian 8. Vej 77827, 88. th

Hvordan vil du skelne? Jeg rettede bare dit regulære udtryk.
Avatar billede olebole Juniormester
07. januar 2012 - 15:52 #8
@learner: I udgangspunktet spurgte jeg faktisk mig selv - og det blev så til, at jeg tænkte højt  =)

RegExp er fantastisk stærkt til mønstersøgning, men det kræver til gengæld, der er et meget fast mønster i det, der skal søges på. Jo flere mulige afvigelser eller variationer i mønstret - jo længere og mere indviklet bliver den pågældende RegExp.

En e-mail-adresses syntaks er således ganske nøje fastlagt. En RegExp, som med garanti kan vurdere adressens validitet, vil ikke desto mindre være længere end de fleste wallisiske pubadresser (i Wales har man som bekendt små, mundrette bynavne som Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch - og så er det ikke engang løgn!).

Spørgsmålet er, om RegExp overhovedet er løsningen. Formatet på brugerindtastede fritekst informationer rummer altid 'spændende' udfordringer. Som ofte er det bedre at 'låse' mulighederne, når informationerne afgives og efterfølgende gemme dem i forskellige felter i DB'en - hvis det er muligt  =)
Avatar billede olebole Juniormester
07. januar 2012 - 15:54 #9
@Erik: Lange veje og høje huse, I har derovre i kolonierne  *o)
Avatar billede learner Praktikant
07. januar 2012 - 19:52 #10
pyh nu blir det lidt for langhåret :o)

Jeg vil bare gerne tjekke om der er et nummer et eller andet sted i strengen. Hvor vidt det er den bedste løsning, det kan jo diskuteres, men det er fint nok til mig hvis den bare tjekker om der er mindst ét nummer.
Avatar billede erikjacobsen Ekspert
07. januar 2012 - 19:58 #11
Så har du vel prøvet #2 ?
Avatar billede olebole Juniormester
07. januar 2012 - 20:00 #12
Jeg må lige høre, om jeg læser din kommentar korrekt. Vil du virkelig påstå, det er ligemeget, om du henter et vejnummer, et etagenummer eller et eller andet tilfældigt tal i vejnavnet?
Avatar billede learner Praktikant
10. januar 2012 - 11:13 #13
ole: ja det er bare til at advare pakkeriet om at være obs og tjekke, hvis der ikke er et nummer i adresselinjen. intet andet. den skal fange de 3 til 5 kunder om året som glemmer at skrive husnummer på. så det er ikke noget virkelig vigtigt, bare en lille ekstra funktion. så sparer kunden en ekstra forsendelse og de penge den koster, for det er jo kunden som skal oplyse en korrekt adresse.
Avatar billede learner Praktikant
10. januar 2012 - 11:14 #14
jeg bruger nr 2 :o)
Avatar billede learner Praktikant
10. januar 2012 - 13:52 #15
tak for hjælpen allesammen.

nogen der ønsker point?
Avatar billede olebole Juniormester
10. januar 2012 - 15:42 #16
Ellers tak, jeg samler ikke point - og Erik er vist den, der for år tilbage var den første, som principielt afviste point. Læg selv et svar og accepter det, så tråden lukkes  *o)
Avatar billede learner Praktikant
10. januar 2012 - 16:17 #17
takker
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