Subnetmaske

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

  • Subnetmaske

    hat jemand zufällig einen Schnipsel rumliegen,
    mit welchen man überprüfen kann, ob eine Subnetmaske
    gültig ist (syntaktisch richtig)

    Danke
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

  • #2
    preg_match("/^([0-9]{1,3}\.){3}([0-9]{1,3})$/",$submask);


    // allerdings kann dann auf erstem segment eine 0 stehen, da war ich mir
    net sicher
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Original geschrieben von MelloPie
      // allerdings kann dann auf erstem segment eine 0 stehen, da war ich mir net sicher
      das macht aber nichts, afaik ist 0.0.0.1 z.b. doch auch eine gültige IP-adresse.

      allerdings können mit deiner regex auch zahlen > 255 vorkommen, und das geht latürnich nicht. aber diese prüfung wird nur mit regex sehr aufwenig zu realisieren sein. da wäre aufsplitten und dann mit if-abfragen prüfen evtl. einfacher.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Jo das stimmt wohl...
        PHP-Code:
        function isSub($sub){
            
        $segs explode(".",$sub);
            if(
        count($segs) != 4){
                return 
        false;
            }
            foreach(
        $segs as $seg){
                if(!
        is_numeric($seg) || $seg 255 || $seg 0){
                    return 
        false;
                }
            }
            return 
        true;

        Zuletzt geändert von MelloPie; 23.03.2003, 13:01.
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          aales schön und gut, doch reicht das nur um eine IP syntaktisch zu überprüfen.

          255.255.127.0 würde bei euren Schnipsel OK sein, ist als Subnetmaske
          aber ungültig
          TBT

          Die zwei wichtigsten Regeln für eine berufliche Karriere:
          1. Verrate niemals alles was du weißt!


          PHP 2 AllPatrizier II Browsergame

          Kommentar


          • #6
            Prüfung auf eine gültige IP per regExp geht so

            #^([0-2]{0,1}[0-9]{0,1}[0-9]\.){3}[0-2]{0,1}[0-9]{0,1}[0-9]$#
            TBT

            Die zwei wichtigsten Regeln für eine berufliche Karriere:
            1. Verrate niemals alles was du weißt!


            PHP 2 AllPatrizier II Browsergame

            Kommentar


            • #7
              gültige werte für Subnet masks sind doch:
              0,128,192,224,240,248,252,254,255
              Also müsst ein reg_exp so aussehen:
              PHP-Code:
              preg_match("/^((0|128|192|224|240|248|252|254|255)\.){3}((0|128|192|224|240|248|252|254|255))$/",$sub); 
              Oder ist das nu auch wieder nicht richtig?
              EDIT:

              vor dem . ist natürlich ein \ backslash, aber den hat das Forum gemampft

              Zuletzt geändert von MelloPie; 23.03.2003, 13:32.
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Kommentar


              • #8
                geht auch nicht,

                128.255.255.0 ist auch ungültig
                TBT

                Die zwei wichtigsten Regeln für eine berufliche Karriere:
                1. Verrate niemals alles was du weißt!


                PHP 2 AllPatrizier II Browsergame

                Kommentar


                • #9
                  Original geschrieben von TBT
                  Prüfung auf eine gültige IP per regExp geht so

                  #^([0-2]{0,1}[0-9]{0,1}[0-9]\.){3}[0-2]{0,1}[0-9]{0,1}[0-9]$#
                  nee, da kann immer noch 299.299.299.299 rauskommen...
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X