dennis_b: JavaScript Reguläre Ausdrücke.

Hallo leute,

ich habe ein Problem mit den Regulären Ausdrücken von JavaScript.
Ich wollte feststellen und festlegen das bei einer eingabe einer
Internet Adresse nicht mehr-und weniger(als 3) www´s eingeben werden können.
Ein kleiner auschnitt....wie ich das meine.
*
reg=/w{3,3}/;
if(reg.exec(eingabe))
{
 alert("ALLES OK");
}
else
{
 alert("Bitte über.......");
}
*

Gebe ich ins Formularfeld jetzt z.b ww.ich@du.de bekomme ich die gewollte Meldung "Bitte überprü.......".
Gebe ich aber z.b wwwww.ich@du.de ein, bekomme ich keine Meldung.
Habe aber doch /w{3,3}/ was doch wie auch in Büchern beschrieben steht
-nicht weniger als 3, und auch nicht mehr als 3- eingegeben.?

Hat einer ein Tipp warum das nicht geht.?

Danke @all

  1. gudn tach!

    reg=/w{3,3}/;

    um genau drei 'w' zu matchen kannst du z.b. schreiben
    /w{3,3}/ oder kuerzer /w{3}/
    oder noch kuerzer /www/

    du machst damit aber noch keine aussage ueber die zeichen, die vor oder nach den drei 'w' stehen.

    es matchen also z.b.
    'foowwbar' nicht, weil 'www' nicht vorkommt,
    'foowwwbar', weil 'www' vorkommt,
    'foowwwwbar', weil 'www' vorkommt.

    aaaalso:
    /[^w]www[^w]/
    oder
    /[^w]w{3}[^w]/
    oder (unueblich)
    /[^w]w{3,3}[^w]/

    prost
    seth

  2. Hallo dennis_b.

    if(reg.exec(eingabe))

    Hier solltest du lieber die sparsamere test-Methode anwenden.

    Einen schönen Mittwoch noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
  3. Warum nicht sowas in der Art, wenn du genau weisst, dass es eh eine Adresse wird, die mit www. angeht.

    /^(http://){0,1}w{3}..*$/

    Das sollte genau auf ein http://www.irgendwassonstdahinter oder www.irgendwassonstdahinter matchen.

    Gruß Ben