Mark: Überprüfung auf Hex-Code mit reg_ex

Ich habe da ein kleines problem mit der Überprüfung eines Inputfeldes in dem ein Farbwert steht. Will dieses Feld auf Richtigkeit überprüfen mit:

function check_color()
{
var color1;
color1=document.install_form.bgcolor.value;

reg_ex=/[1]{1}+[a-fA-F0-9]{6}$/;

if(reg_ex.test(color1))
{
alert("Richtig");
}
else
{
alert("Falsch");
}

Nun klappt das auch wunderbar, nur dass ich unendlich viele "#" eingeben kann und er das nicht als Fehler erkennt. Bei [a-fA-F0-9]{6} klappt das super und er lässt nur 6 Zeichen zu, aber bei [#]{1} dürfte er normalerweise auch nur ein # annehmen. Ich find einfach den Fehler nicht. Ich hoffe es kann mir jemand helfen!


  1. # ↩︎

  1. Hi,

    reg_ex=/[1]{1}+[a-fA-F0-9]{6}$/;
    Nun klappt das auch wunderbar, nur dass ich unendlich viele "#" eingeben kann

    Du möchtest Dir bitte die Bedeutung der einzelnen Symbole bewusst machen. Wofür stehen eckige Klammern, wofür geschweifte, wofür _keine_ geschweiften Klammern und wofür das Pluszeichen. Wenn dies geschehen ist, ist Dir das Problem glasklar.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes

    1. # ↩︎

  2. hi,

    Nun klappt das auch wunderbar, nur dass ich unendlich viele "#" eingeben kann und er das nicht als Fehler erkennt.

    [#]{1}+

    [#]{1} heisst: finde mir genau ein #

    und was heisst + ? genau, finde mir den davor stehenden ausdruck ein oder mehrere male.

    du sagst also, "finde mir ein oder mehrere male (genau ein #)".

    • raus, und das ding sollte tun was du willst ...

    gruss,
    wahsaga

    1. [#]{1}+

      [#]{1} heisst: finde mir genau ein #

      und was heisst + ? genau, finde mir den davor stehenden ausdruck ein oder mehrere male.

      du sagst also, "finde mir ein oder mehrere male (genau ein #)".

      • raus, und das ding sollte tun was du willst ...

      gruss,
      wahsaga

      Ok vielen Dank. Klappt super hab jetzt:

      reg_ex=/[1]{1}[a-fA-F0-9]{6}$/;

      MfG

      Mark


      1. # ↩︎

      1. Hi,

        reg_ex=/[1]{1}[a-fA-F0-9]{6}$/;

        wo genau siehst Du denn Sinn in "[#]" und in "{1}"?

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes

        1. # ↩︎

        1. Nabend Cheatah.

          reg_ex=/[1]{1}[a-fA-F0-9]{6}$/;
          wo genau siehst Du denn Sinn in "[#]" und in "{1}"?

          Doppelt hält besser.

          Freundschaft!
          Siechfred


          1. # ↩︎

          1. Hi,

            wo genau siehst Du denn Sinn in "[#]" und in "{1}"?
            Doppelt hält besser.

            argl ... dann sollte die RegExp aber auch in ein "for (var i=1; i<=1; i++)" gelegt werden ;-)

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Nabend Cheatah,

              argl ... dann sollte die RegExp aber auch in ein "for (var i=1; i<=1; i++)" gelegt werden ;-)

              Oder noch doppelmoppeliger: [#]{1,1} ;-))

              Freundschaft!
              Siechfred

              1. Hi,

                Oder noch doppelmoppeliger: [#]{1,1} ;-))

                function recurse(pattern) { return recurse('(?:'+pattern+'){1,1}'); }

                Cheatah ;-)

                --
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
      2. Hallo Mark,

        reg_ex=/[1]{1}[a-fA-F0-9]{6}$/;

        und warum darf der User keine 3 stelligen Farbecodes angeben?

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|

        1. # ↩︎