tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
719
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von bauchinj
    bauchinj bauchinj ist offline Mitglied Gold
    Registriert seit
    Oct 2009
    Ort
    Oberösterreich
    Beiträge
    223
    Hallo!

    Ich hab ein Inputfeld und beim Absenden des Formulars möchte ich gerne prüfen, ob der Wert

    A) IPv4
    B) IPv6
    C) gar nichts von beidem

    ist. Das ganze wäre wohl am schönsten und "einfachsten" mit Regulären Ausdrücken. Leider bin ich nicht so der Speziallist in diesem Bereich.
    Könnte mir bitte jemand helfen Diese Prüfungen durchzuführen - natürlich mittels JS.

    Danke schon mal
     

  2. #2
    Masterclavat Masterclavat ist offline Mitglied Brokat
    Registriert seit
    Oct 2007
    Beiträge
    325
    Hast du dir dies schon mal angesehen?

    Ansonsten: hier
     

  3. #3
    Avatar von bauchinj
    bauchinj bauchinj ist offline Mitglied Gold
    Registriert seit
    Oct 2009
    Ort
    Oberösterreich
    Beiträge
    223
    Danke erstmal, habs jetzt für IPv4 folgendermaßen probierte, bekomm aber einen Fehler:

    Code :
    1
    2
    
    var strIPv4Pattern = "\A(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}\z";
    strIPv4Pattern.test(document.getElementById("ipAddress").value);


    strIPv4Pattern.test is not a function
    ?
     

  4. #4
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Für eine IPv4 Adresse habe ich mal eben folgendes geschrieben:

    Code :
    1
    2
    
    pattern = /(25[0-5]|2[0-4][0-9]|[0-1][0-9][0-9]|[0-9][0-9]|[0-9]\.){3}25[0-5]|2[0-4][0-9]|[0-1][0-9][0-9]|[0-9][0-9]|[0-9]/;
    alert(pattern.test("127.0.0.1"));

    Das Problem ist, dass der oben angegebene Link für VB.net ist

    Die Funktion test kannst du dir unter SelfHTML jederzeit zu Gemüte führen
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  5. #5
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.161
    Wieso ist dieses Thema hier eigenmtlich in der Jobbörse?

    Gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  6. #6
    Avatar von bauchinj
    bauchinj bauchinj ist offline Mitglied Gold
    Registriert seit
    Oct 2009
    Ort
    Oberösterreich
    Beiträge
    223
    Hab schon gesehn, dass der Link für VB war, habs einfach mal versucht...

    mit deinem Code bekomm ich den selben Fehler, hab aber noch "" rund um das pattern gelegt.
    Sind die Zeichen /|> am Ende des Strings gewollt? und am Beginn / ?

    Danke für eure Antworten


    vfl_freak: Bin verschoben worden
     

  7. #7
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    bauchinij, ich habe den Beitrag nocheinmal editiert. Die Code-Tags im Forum haben das leider ein bisschen zerschossen Jetzt steht der Ausdruck korrekt da.
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  8. #8
    Avatar von bauchinj
    bauchinj bauchinj ist offline Mitglied Gold
    Registriert seit
    Oct 2009
    Ort
    Oberösterreich
    Beiträge
    223
    Hab den pattern von timestamp ein wenig umgebaut, so wie ich finde, dass er passen müsste:

    Code :
    1
    
    pattern = /((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]).){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])/;

    Für mich heißt der String:

    25[0-5] = 250-255 |(or)
    2[0-4][0-9] = 200-249 |
    1[0-9][0-9] = 100-199 |
    [1-9][0-9] = 10-99 |
    [0-9] = 0-9

    Also würde dies bedeuten alle Zahlen von 0-255 sind valid.
    darauf folgt der .
    und die geschweiften Klammern {3} sagen, dass der String mit 3 Mal 0-255. beginnen muss.
    Am Ende steht nochmal, das Zahlen von 0-255 valid sind =>

    IPv4: 0.0.0.0 - 255.255.255.255
    wobei 0.0.0.0 und 255.255.255.255 noch gefiltert gehören.

    Hört sich alles recht schön an, aber es funktioniert nicht so - wenn ich zB 0.0.0.0008888 eingebe ist der Ausdruck immer noch gültig.
     

  9. #9
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Hi

    wieso hast du denn den Backslash vor dem Punkt herausgenommen...
    Du kannst die IP jetzt ja gernmal so testen
    127a34G122 => ist gültig...


    wenn ich zB 0.0.0.0008888 eingebe ist der Ausdruck immer noch gültig.
    Code :
    1
    
    pattern = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/

    Jetzt nicht mehr.
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

  10. #10
    Avatar von bauchinj
    bauchinj bauchinj ist offline Mitglied Gold
    Registriert seit
    Oct 2009
    Ort
    Oberösterreich
    Beiträge
    223
    Super, danke

    Kannst du mir noch kurz erklären, was der \ vor dem Punkt genau macht?

    Mit ^ und $ grenze ich die Zeichenkette genau ein, oder also es darf vorher UND nacher nichts anderes stehen?
     

  11. #11
    Avatar von timestamp
    timestamp timestamp ist offline Mitglied Rubin
    Registriert seit
    May 2010
    Ort
    Marburg
    Beiträge
    1.479
    Das bedeutet dass dich Zeichenkette bei ^ anfängt und bei $ aufhört. Der . steht für jedes beliebige Zeichen, um einen normalen . als Satzzeichen darzustellen musst du ihn mit einem Backslash escapen.
     
    Bei Problemen mit Codes, postet bitte den entsprechenden Codeausschnitt und setzt den in entsprechende Tags.
    ( [cpp] [/cpp] [css] [/css] [html] [/html] [java] [/java] [javascript] [/javascript] [php] [/php] [sql] [/sql] )
    "Funktioniert nicht" ist keine Fehlermeldung. Bitte eine genaue Fehlerbeschreibung und, wenn vorhanden, Fehlermeldungen posten.
    RegEx Tutorial
    PHP Funktionsreferenz

Ähnliche Themen

  1. IPv4 und IPv6 Auslesen
    Von DerEisige im Forum PHP
    Antworten: 6
    Letzter Beitrag: 29.09.09, 19:24
  2. Reguläre Ausdrücke+JavaScript
    Von Zack im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 21.10.08, 12:04
  3. Reguläre ausdrücke mit Javascript
    Von Stromerzeuger im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 31.10.06, 14:32
  4. Trennen von Operanden und Operatoren mittels Reguläre Ausdrücke
    Von stahlschrank im Forum Sonstige Sprachen
    Antworten: 0
    Letzter Beitrag: 17.07.06, 10:40
  5. reguläre Ausdrücke in JavaScript
    Von Ronax im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 02.06.06, 13:31

Stichworte