Telefonnummer auf 0190er etc prüfen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Telefonnummer auf 0190er etc prüfen

    Hallo Leute,

    hat einer eine Idee wie man am besten Telefonnummern checken kann, ob es sich um Servicenummern handelt?

    mit str_replace('0190'; '----'; $telefonummer)
    kann man zwar nach der Nummernfolge suchen, dann wird aber auch die eigentliche Rufnummer gefiltert.

    z.B. 030 501904
    mfg
    marc75

    <Platz für anderes>

  • #2
    warum kein RegEx nehmen? damit kannst du z.B. 0190 am Anfang filtern.

    Kommentar


    • #3
      es geht doch immer um die "vorwahl" ... also 0190, 0900, 0180, etc. ... als einfachste lösung würde substr() mit einem inarray() reichen... ABER ein trick war es mal, 0190er mit einer callbycall-vorwahl zu verschleiern, zB 010240190123456 ... hier wirds dann etwas problematischer ...
      Kissolino.com

      Kommentar


      • #4
        Mehr als 12 Ziffern : Einfach auf 0190 innerhalb der ersten 9 Ziffern (nicht verwechseln mit Zeichen wie leerzeichen oder -) auf 0190 prüfen
        Weniger als 12 Ziffern : auf 0190 am Anfang prüfen


        An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

        Kommentar


        • #5
          Original geschrieben von MaxP0W3R
          Mehr als 12 Ziffern : Einfach auf 0190 innerhalb der ersten 9 Ziffern (nicht verwechseln mit Zeichen wie leerzeichen oder -) auf 0190 prüfen
          Weniger als 12 Ziffern : auf 0190 am Anfang prüfen
          und diesen Fall hast du auch noch glatt vergessen

          +491901234567

          Kommentar


          • #6
            denke mal ich werde es ohne Prüfung belassen, und dem User ein Hinweis auf mögliche Servicenummern anzeigen.

            Es gibt halt zu viele Möglichkeiten, dies zu verdecken.
            mfg
            marc75

            <Platz für anderes>

            Kommentar


            • #7
              so schwer kann das doch gar nicht sein das alles rauszufiltern (meine Meinung)

              ich wuerde als erstes mal alle leerzeichen der nummer killen, danach fragst du ab ob nen + zeichen in dem String ist wenn ja, denn sind die beiden Zahlen danach als "0" zu betrachten, wenn das alles erledigt ist, suchst du mit der entsprechenden funktion in PHP nach der nummernfolge nach der du suchen willst, in CGI isses if(index("190",$numemr)>=0) in php wuerde das ja wohl mit strchr() gehen glaube ich (hab keine ahnung von PHP), auf alle faelle denke ich mal das es nicht so viel Arbeit machen wuerde oder ?

              und wenn du mehrere Nummern filtern moechtest, denn nimmst du wie gesagt nen Array und laesst es in einer for oder while schleife laufen...


              hab ich was vergessen beim filtern.....noe denke nicht oder ?


              Byteandi
              Sport Dates

              Kommentar


              • #8
                @Byteandy: das + ersetzt normalerweise das WC-Zeichen

                Kommentar


                • #9
                  @byteandi

                  und wie willst du folgendes Unterscheiden

                  Dialer:
                  0190123456789
                  010240190123456

                  Regulär:
                  0049305019057
                  0305019057




                  Und dann gibts noch die Rufumleitungen zu den Dialern über irgendwelche Inseln im Pazifik.
                  mfg
                  marc75

                  <Platz für anderes>

                  Kommentar


                  • #10
                    Upsa nun bin ich ja voll reingetreten, an Vorwahlen habe ich ja gar nicht gedacht, denn musst du sowas "010240190123456" als riskant einstufen oder so....... bzw. hat eine Nummer ja im normalfall ne bestimmte laenge oder ? wnen man von der laenge einer normalen nummer ausgeht, bei der dann am anfang 0190 steht, denn haste es oder.....shit...voll reingetreten...es sah doch so einfach aus....


                    Byteandi

                    PS: das + ne doppelnull iss iss klar aber das stoert doch nicht
                    Sport Dates

                    Kommentar


                    • #11
                      PHP-Code:
                      $telefon preg_replace('%[^0-9\+]%'''$telefon);
                      $telefon preg_replace('%(^\+|^00)[\\d]{2}%''0'$telefon);
                      $telefon preg_replace('%(^010[\\d]{2})%'''$telefon); 
                      werdet glücklich damit, jetzt sollte die 0190 am anfang stehen

                      optimierungspotential gibt's auch noch
                      marc75' letzte variante ist da z. b. nicht mit drin
                      (ist 030 nicht berlin?)
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Original geschrieben von Byteandi
                        PS: das + ne doppelnull iss iss klar aber das stoert doch nicht
                        mein posting bezieht sich auf deine Aussage:
                        danach fragst du ab ob nen + zeichen in dem String ist wenn ja, denn sind die beiden Zahlen danach als "0" zu betrachten
                        weil wenn + existiert, dürfte 00 nicht existent sein

                        Kommentar


                        • #13
                          (ist 030 nicht berlin?)
                          klar, da tobt das leben....

                          weil wenn + existiert, dürfte 00 nicht existent sein
                          iss richtig, aber denn waere die nummer ja auch nicht valid oder ? als ,kann man sowas doch aussen vor lassen...


                          Byteandi
                          Sport Dates

                          Kommentar


                          • #14
                            mein Versuch:

                            PHP-Code:

                              $strsearch 
                            = array(" ","+");
                              
                            $strersatz = array("""00");
                              
                            $tel str_replace($strsearch$strersatz$_POST['telefon']);
                              
                              
                            $tel preg_replace("/^00[\d]{2}/""0"$tel);
                              
                            $such[0] = "/^0190/"//klassiche
                              
                            $such[1] = "/^0900/"//neue dialer
                              
                            $such[2] = "/^09009/"//neue Dialer i-netz
                              
                            $such[3] = "/^010/"//call by Futzies
                              
                            $such[4] = "/^0100/"//call by Futzies die 2.
                              
                            $such[5] = "/^118/"// Auskunft
                              
                            $such[6] = "/^0137/"//TV Abzocke 
                              
                            $ersatz "++++";
                              
                            $tel preg_replace($such$ersatz$tel);
                              echo 
                            $tel
                            Die Nummern hab ich von der RegTP
                            mfg
                            marc75

                            <Platz für anderes>

                            Kommentar


                            • #15
                              fehlen bloß noch die billig-vorwahlen
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X