Anzeige:
Ergebnis 1 bis 4 von 4

Thema: [JS] Regulärer Ausdruck zum Überprüfen von MAC/IP Adressen

  1. #1
    Registrierter Benutzer
    Registriert seit
    25.11.2003
    Beiträge
    16

    [JS] Regulärer Ausdruck zum Überprüfen von MAC/IP Adressen

    Hallo zusammen,

    ich habe ein Formular in dem IP und MAC Adressen eingeben werden. Ich möchte jetzt mit einem Regulären Ausdruck überprüfen ob die eingeben Adressen gültig sind. Meine ersten versuche sehen so aus:

    Code:
    var Suche = /^([a-f0-9]{2}(:)){5}[a-f0-9]{2}/i;
    Das Problem bei diesem Ausdruck ist, das ich es noch nicht hin bekommen habe die max. Anzahl von Zeichen die enthalten sind festzulegen bzw zu überprüfen.

    MAC: FF:FF:FF:FF:FF:FF (17 Zeichen)

    Mit dem oben aufgeführten Ausdruck ist auch diese

    MAC: FF:FF:FF:FF:FF:FF:01:02 (23 Zeichen)

    gültig.

    Kann mir jemand einen Tipp geben wie ich die max. Länge des String in den Ausdruck überprüfe ohne das in einer seperatien abfrage zu erledigen??

  2. #2
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Hi,

    ich habe es jetzt nicht ausprobiert. Aber ich glaube Du hast vergessen mit anzugeben, daß das der ganze String bis zum Stringende ist. Es muß also richtig lauten:
    Code:
    var Suche = /^([a-f0-9]{2}(:)){5}[a-f0-9]{2}$/i;
    Denn mit Deiner Version müßte auch folgendes ein richtiges Ergebnis liefern:

    MAC: FF:FF:FF:FF:FF:FFdasistjetztnureinVersuch

    Denn Du hast ja nur gesagt, daß der String genau so anfangen muß aber eben nicht enden. Das wird dem '$' gesagt.

    Pingu

  3. #3
    Registrierter Benutzer
    Registriert seit
    25.11.2003
    Beiträge
    16
    @Pingu
    danke für die antwort


    jetzt funktioniert es wunderbar

    für die überprüfung der MAC
    Code:
     
    /^([a-f0-9]{2}(:)){5}[a-f0-9]{2}$/i;
    für die überprüfung der IP
    Code:
     
    /^((25[0-5]{1}|2[0-4]{1}[0-9]{1}|1{0,1}[0-9]{0,1}[0-9]{1})\.{1}){3}(25[0-5]{1}|2[0-4]{1}[0-9]{1}|1{0,1}[0-9]{0,1}[0-9]{1}){1}$/

  4. #4
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Hi,

    eine '{1}' muß Du nicht angeben. Damit läßt sich folgendes verkürzen und wird übersichtlicher:
    Code:
     
    /^((25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1?[0-9]?[0-9])$/
    Nur mal so als Tip.

    Pingu

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •