Andy: ereg

Hallo

if (!ereg ("([0-9])([-]{1})", $_POST['telefon'])) {
$echo="Die Telefonnummer sollte aus Vorwahl-Telefonnummer bestehen (030-123456";
}

Was mach ich denn da falsch, es soll genau nur ein einziges - (minus) erlaubt sein. Leider kann ich so viele eingeben wie ich mag.
Oder auch nur 1-

Ich wünsche ein tolles WE
Andy

  1. Hi,

    if (!ereg ("([0-9])([-]{1})", $_POST['telefon'])) {
    $echo="Die Telefonnummer sollte aus Vorwahl-Telefonnummer bestehen (030-123456";
    }

    Was mach ich denn da falsch,

    Du nutzt die ereg-Funktionen, obwohl man doch besser die PCRE-Funktionen nutzen sollte.

    es soll genau nur ein einziges - (minus) erlaubt sein. Leider kann ich so viele eingeben wie ich mag.

    Natuerlich, denn du hast ja nicht angegeben, dass der zu durchsuchende String von Anfang bis Ende vom Suchmuster gematched werden soll - es reicht dir aus, wenn er *irgendwo* im String matched.

    Oder auch nur 1-

    Natuerlich, auch mehr als ein einmaliges Vorkommen einer Ziffer hast du nicht verlangt.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. Guten Tag Chris,

      Danke für die Tipps, ich habe es versucht, aber irgendwie ist da bei mir der Wurm drin, vielleicht versteh ich den regulären Ausdruck nicht.

        
      $telefon = "-2";  
      if(preg_match('~^([-]{1})([\d/])$~',  $telefon)){ // hier mal '~' als Delimiter verwendet  
          echo "gut<br>"; } else{ echo "nicht gut<br>"; }
      

      Jetzt kann ich ein Minus und Eine Zahl.
      Was mache ich jetzt schon wieder falsch?

      MfG
      Andy

      1. Sorry, ich habe noch einmal genau gelesen und ich glaub ich habe es jetzt verstanden.

          
        if (!preg_match('~^([\d]{1,6})([-]{1})([\d]{1,15})$~',  $telefon)){  
        
        

        ich hoffe das ist richtig.

        MfG
        Andy

        1. Sorry, ich habe noch einmal genau gelesen und ich glaub ich habe es jetzt verstanden.

          if (!preg_match('~^([\d]{1,6})([-]{1})([\d]{1,15})$~',  $telefon)){

          
          >   
          > ich hoffe das ist richtig.  
          >   
          > MfG  
          > Andy  
            
          <?php  
            
            
                   $BuchNr=$\_POST['BuchNr']  ;  
                   $Titel=$\_POST['Titel'];  
                   $Autor=$\_POST['Autor']   ;  
                   $Erscheinungsjahr=$\_POST['Erscheinungsjahr'];  
            
                   $server="localhost";  
                   $benutzer="root";  
                   $kennwort="";  
            
            
                   $verbindung=mysql\_connect($server,$benutzer,$kennwort);  
            
                   mysql\_select\_db("klasse7i",$verbindung);  
            
            
                   $sql="INSERT INTO bestand (BuchNr, Titel, Autor, Erscheinungsjahr) VALUES ('','Titel','Autor','Erscheinungsjahr')";  
                   $ergebnis=mysql\_query($sql,$verbindung);  
            
            
                   $sql="SELECT \* FROM bestand";  
                   $ergebnis=mysql\_query($sql,$verbindung);  
            
            
                   while ($row=mysql\_fetch\_array($ergebnis)) {  
                           echo $row['BuchNr'];  
                           echo $row['Titel'];  
                           echo $row['Autor'];  
                           echo $row['Erscheinungsjahr'];  
                           echo "<br>";  
                           echo mysql\_error();  
                   }  
            
            
            
                   $sql="SELECT \* FROM bestand";  
                   $ergebnis=mysql\_query($sql,$verbindung);  
            
            
                   while ($row=mysql\_fetch\_array($ergebnis)) {  
            
                           echo "<br>";  
                           echo $row['BuchNr'];  
                           echo $row['Titel'];  
                           echo $row['Autor'];  
                           echo $row['Erscheinungsjahr'];  
            
                           echo "<br>";  
                   }  
            
                   mysql\_close($verbindung);  
            
          ?>