Avatar billede rmk24 Nybegynder
21. juli 2009 - 20:07 Der er 16 kommentarer og
1 løsning

is_numeric hjælp

jeg har denne som skal tjekke for at det er et postnummer men skal have is_numeric lavet om til at hvis det IKKE er tal og at det ikke er 4 tal langt.

    public function postnummer($submit){

        if((isset($_POST["postnr"])) && (is_numeric($_POST['postnr'])) && (strlen($_POST["postnr"]) <> 4)){
            $postnr = false;
            $msg = "&larr; Dit postnr skal være på 4 tal!";

        }else{
            $postnr=true;
        }
        ?>
                    <input class="felt" type="text" name="postnr" value="<?php echo $_POST['postnr'];?>" /><?php echo $msg; ?> <span class="fail"></span><br />
            <?php
    }

håber på nogen hr foreslag til hvordan det kan gøres
Avatar billede mrgumble Nybegynder
21. juli 2009 - 21:05 #1
Det korte svar:
!is_numeric($_POST['postnr'])
Avatar billede rmk24 Nybegynder
21. juli 2009 - 21:39 #2
har prøvet.. virker ikke for ville jeg også mene der var det nemmeste..
Avatar billede mrgumble Nybegynder
21. juli 2009 - 21:51 #3
$postnr = $_POST['postnr'];
if ($postnr && !is_numeric($postnr) && len($postnr) != 4) {
echo "Båt";
}
Hvis det ikke virker, må jeg desværre melde pas. :(
Avatar billede rmk24 Nybegynder
21. juli 2009 - 21:55 #4
prøver lige at kigge på det.. takker for tiden..
Avatar billede mrgumble Nybegynder
21. juli 2009 - 21:56 #5
function checkPostnr($postnr, &$msg) {
  if (len($postnr) != 4) {
    $msg = "Postnummeret er ikke lang nok!";
    return false;
  }
  if (is_numeric($post) == false) {
    $msg = "Postnummeret må kun bestå af tal!";
    return false;
  }
  return true;
}

Jeg tror hellere jeg ville lave sådanne funktioner, og så kalde den:
$msg = '';
if (checkPostnr($_POST['postnr'], $msg) == false) {
  echo $msg;
  // break, stop, die?
}
Og så på den måde, tjekke hver betingelse, én efter én, for hvis postnummeret ikke er 4 tegn lang, gør det noget det ikke er tal? Eller omvendt?
Avatar billede rmk24 Nybegynder
21. juli 2009 - 22:01 #6
har lavet linien sådan her nu. og melder kun fejl hvis der ikke er 4 bokstaver. melder ikke fejl på tal

if((isset($_POST["postnr"])) && !is_numeric($_POST['postnr']) && strlen($_POST["postnr"]) != 4){
Avatar billede rmk24 Nybegynder
21. juli 2009 - 22:05 #7
har prøvet at fjerne strlen og så virker det også med at det kun må være tal. men skal jo også have det med at det skal være 4 tal.
Avatar billede rmk24 Nybegynder
21. juli 2009 - 22:22 #8
andre med nogen ideer/løsninger
Avatar billede kpdk Nybegynder
22. juli 2009 - 00:25 #9
Du kunne prøve noget i retning af:

if( preg_match("/^[0-9]{4}$/", $_POST["postnr"] ) {
    // gør noget
}
Avatar billede showsource Seniormester
22. juli 2009 - 05:35 #10
Og f.eks. 12.1 er jo også numeric, så brug kpdk's forslag
Avatar billede js_delphi Nybegynder
22. juli 2009 - 08:18 #11
Hvis din side skal bruges af folk, som bor udenfor Danmark, er 4 tal ikke altid nok.
I Tyskland har vi f.eks. 5.

Jeg kunne for et par aar siden ikke tilmelde mig netbank i min bank i Danmark, da deres system ikke ville godtage et 5-cifret postnummer. Ikke saerlig professionelt.
Den fik de dog hurtig rettet...
Avatar billede olebole Juniormester
22. juli 2009 - 09:25 #12
<ole>

- og hvad med de dele af Danmark, som kun har tre ciffre i postnummeret?  ;o)

/mvh
</bole>
Avatar billede rmk24 Nybegynder
22. juli 2009 - 09:52 #13
er der nogen i dk der har 3. det er en klasse jeg laver så skulle gerne kunne bruges uden for dk på et tidspunkt. men i starten er det ok kun med dk.
Avatar billede rmk24 Nybegynder
22. juli 2009 - 10:07 #14
må sige tak til kpdk for hans løsning.. virker bare perfekt. og der er ikke nogen med 3 i. der er et 0 foran :) smid svar hvis du vil have point
Avatar billede olebole Juniormester
22. juli 2009 - 10:11 #15
Færørerne og Grønland har udelukkende 3-ciffrede postnumre - og de skrives uden foranstående 0. Så kun hvis dine grønlandske og færøske brugere gør, som de ikke plejer, skriver de et 4-ciffret postnummer (0 + tre ciffre)
Avatar billede rmk24 Nybegynder
22. juli 2009 - 12:08 #16
okay.
Avatar billede kpdk Nybegynder
22. juli 2009 - 17:46 #17
Svar :)
Håber det kan bruges.
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