JavaScript ein teil eines strings vergleichen

Von: , 31.08.2010 23:53 Uhr

hallo wer weiss was forum,

ich habe für mich ein nicht lösbares problem
ich will denn einen string ,,thisLink" überprüfen ob der anfang des strings erfüllt ist also nur bis zum *
ab dem stern ist egal welsche zeichen noch folgen...

....

thisLink = allLinks.snapshotItem(i);

if (thisLink == 'http://www.wer-kennt-wen.de/person/*'); {

alert("thisLink ist bis zum * Gleich! bedingung ist erfüllt link öffnet sich");
window.location.href = thisLink;
}
....

danke schon im voraus für denjenigen der mir helfen kann!

11 Antworten zu dieser Frage

  1. Antwort von nach 6 Stunden 0 hilfreich
    Re: JavaScript ein teil eines strings vergleichen

    Sorry, da kann ich nicht weiterhelfen...

    P.

  2. Antwort von nach 9 Stunden 0 hilfreich
    Re: JavaScript ein teil eines strings vergleichen

    Hallo,

    mit Strings kann man eine Menge Machen. Nach zu lesen hier: http://de.selfhtml.org/javascript/objekte/string.htm

    Für deinen Fall wäre ne RegEx (Regulärer Ausdruck) am einfachsten:

    var found = thisLink.search(/^http:\/\/www.wer-kennt-wen.de\/person\/.+$/);
    if (found != -1)
    {
    //code wenn der link stimmt
    }
    else
    {
    //code wenn der link nicht stimmt
    }
    


    Im einzelnen besagt das Argument bei thisLink.search() folgendes:

    Am Beginn des Strings (^) steht dein Link. Danach kommen beliebige Zeichen (.+) und dann ist der String zu Ende ($). Du kannst das .+ auch entsprechend aus tauschen um noch zu prüfen ob der Rest des Strings noch richtig ist, beispielweise obs nur buchstaben sind ([a-z]+).
    RegEx'en in JavaScript sind zum Beispiel hier erklärt: http://de.selfhtml.org/perl/sprache/regexpr.htm

    P.S.: Verzeih den schlecht formatierten Code aber der pre- tag hat irgendwie nicht funktioniert

    • Antwort von nach 17 Stunden 0 hilfreich
      Re^2: JavaScript ein teil eines strings vergleichen

      Hallo,

      mit Strings kann man eine Menge Machen. Nach zu lesen hier:
      http://de.selfhtml.org/javascript/objekte/string.htm

      Für deinen Fall wäre ne RegEx (Regulärer Ausdruck) am
      einfachsten:

      var found =
      thisLink.search(/^http:\/\/www.wer-kennt-wen.de\/person\/.+$/);
      if (found != -1)
      {
      //code wenn der link stimmt
      }
      else
      {
      //code wenn der link nicht stimmt
      }
      


      Hallo haui... leider funktieniert das nicht in kombination mit gracemonkey firefox scripte! keine ahnung ich bekomme auch bei deinem code die gleichen fehlermeldungen wenn ich irgendeine strin funktion von sehlf html nehme!
      der fehler heist:

      thisLinks.search is not a funktion!

      ich hoffe du kannst mir weiter helfen weil du die beste antwort mir geschrieben hast hier in wer weis was!

      grüße an dich
      ilyas

      • Antwort von nach 18 Stunden 0 hilfreich
        Re^3: JavaScript ein teil eines strings vergleichen

        Hallo ilyas,

        wenn du mir die entsprechenden JavaScript Funktionen die du geschrieben hast einmal postest, werde ich einen Blick drauf werfen. Meistens steckt der Fehler im Detail :-).

  3. Antwort von nach 9 Stunden 0 hilfreich
    Re: JavaScript ein teil eines strings vergleichen

    P.S.S.: Offensichtlich hat der pre- tag doch funktioniert. In der Vorschau allerdings nicht. Naja, sieht ja nun gut aus.

    • Antwort von nach 22 Stunden 0 hilfreich
      Re^2: JavaScript ein teil eines strings vergleichen

      also hier der ganze code hoffe das hilft:


      var allLinks, thisLink;

      allLinks = document.evaluate(
      '//a[@href]',
      document,
      null,
      XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
      null);

      for (var i = 0; i< allLinks.snapshotLength; i++) {
      thisLink = allLinks.snapshotItem(i);


      var found = thisLink.search(/^http:\/\/www.wer-kennt-wen.de\/person\/.+$/);

      if (found != -1){
      alert("Bedinung der ersten 35 zeichen sind erfüllt person gefunden! link öffnet sich");
      window.location.href = thisLink;
      }
      }


      schreibe denn script für gracemonkey was hoffe nix an der sache ändert weil es ja ganz normaler jacascript sein soll

      • Antwort von nach 2 Tagen 0 hilfreich
        Re^3: JavaScript ein teil eines strings vergleichen

        Hallo ilyas,

        die Snapshotitems sind keine Strings sondern irgendwelche XPathNodes (die genaue Bezeichnung kenne ich jetzt nicht).

        Für deine Links kannst du aber direkt auf das href- Attribut zugreifen:

        var found = thisLink.href.search(/^http:\/\/www.wer-kennt-wen.de\/person\/.+$/);
        


        Dann funktioniert es, zumindest bei mir im FireFox.

        Hoffe das hilft.

        Grüße,
        haui

  4. Antwort von nach 13 Stunden 0 hilfreich
    Re: JavaScript ein teil eines strings vergleichen

    <script type="text/javascript">
    var sollURL = "http://www.wer-kennt-wen.de/person/";
    var istURL = document.location.href;
    var checkURL = istURL.search(sollURL);
    if(checkURL != -1) window.location.href = sollURL;
    else alert("falscher Link");
    </script>

    Skript kann so in den head-Bereich eingebunden werden. Wenn es nur darum geht den Anfang der URL abzuklären reicht obiges Skript. Falls die sich dann zu öffnende URL dynamisch ist, muss nach der if-Bedingung entsprechend andere Variablendeklaration eingesetzt werden.

    • Antwort von nach 17 Stunden 0 hilfreich
      Re^2: JavaScript ein teil eines strings vergleichen

      danke Jürgen aber es soll möglich im voraus prüfen ob der es sich um die wunsch url handelt bevor er auf die seite geht!

      kannst du mir weiter helfen? ich habe das auch forum nun geschrieben damit wenn jemmand anderes das gleiche problem hat er die lösung direkt sehen kann.

      grüße an dich jürgen

      • Antwort von nach einem Tag 0 hilfreich
        Re^3: JavaScript ein teil eines strings vergleichen

        Da Javascript clientseitig funktioniert (abgesehen von ajax), kann immer nur eine Aktion im Browser des Benutzers kontrolliert werden. Obiges Skript würde ja nur dann eine neue Seite laden, wenn Bedingung erfüllt ist.
        Dennoch hier eine andere Variante:

        <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
        <html>

        <head>
        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
        <title>checklink</title>
        <script type="text/javascript">
        var sollURL = "http://www.wer-kennt-wen.de/person/";
        function checklink(istURL){
        var checkURL = istURL.search(sollURL);
        if(checkURL != -1) window.location.href = istURL;
        else alert("falscher Link");
        }
        </script>
        </head>
        <body bgcolor="#ffffff">
        <p><a href="javascript:checklink('http://www.wer-kennt-wen.de/person/test.html')">Dies ist ein Link</a></p>
        </body>
        </html>

  5. Antwort von nach 97 Tagen 0 hilfreich
    Re: JavaScript ein teil eines strings vergleichen

    Leider kann ich nicht helfen.
    Versuchs mal hier http://rheinbreitbach.net/js-menue/
    Gruß

Jetzt auf diese Frage antworten.