Apply your JS skills to key Mozilla projects as an MDN Fellow! http://mzl.la/MDNFellowship

mozilla
Wyniki wyszukiwania

    exec

    UWAGA: Tłumaczenie tej strony nie zostało zakończone.
    Może być ona niekompletna lub wymagać korekty.
    Chcesz pomóc? | Dokończ tłumaczenie | Sprawdź ortografię | Więcej takich stron+.

    Podsumowanie

    Wykonuje operacje wyszukiwania danego łańcucha znaków. Wynikiem jest macierz.

    Metoda obiektu: RegExp
    Zaimplementowana w: JavaScript 1.2, NES3.0
    Wersja ECMA: ECMA-262, edycja 3 (tylko pierwsza składnia)

    Składnia

    regexp.exec([str])
    regexp([str])

    Parametry

    regexp 
    Nazwa wyrażenia. Może być zmienną lub literałem.
    str 
    Łańcuch znaków, do którego ma być porównane wyrażenie.

    Opis

    Jak wynika z opisu składni metoda exec może być wywołana w sposób bezpośredni (za pomocą regexp.exec(str)) lub pośredni (za pomocą regexp(str)).

    Jeśli chcesz uzyskać jako rezultat wyszukania tylko informacje prawda lub fałsz użyj metody test lub też String search.

    Jeśli wynik będzie pozytywny metoda exec zwróci macierz oraz zaktualizuje własności obiektu. W przeciwnym wypadku zostanie zwrócone null.

    Przejrzyj poniższy przykład:

    <SCRIPT LANGUAGE="JavaScript1.2">
    //Znajdź pojedyncze "d" poprzedzone przez jedno lub więcej "b", po których następuje pojedyncze "d"
    //Zapamiętaj znalezione "b" oraz następujące "d"
    //Ignoruj wielkość liter
    myRe=/d(b+)(d)/ig;
    myArray = myRe.exec("cdbBdbsbz");
    </SCRIPT>
    

    Poniższa tabela pokazuje rezultaty wygenerowane przez skrypt:

    Obiekt Właściwość/Indeks Opis Przykład
    myArray   Zawartość myArray. ["dbBd", "bB", "d"]
    index Indeks wyszukania łańcucha znaków rozpoczynający się od 0. 1
    input Ciąg bazowy. cdbBdbsbz
    [0] Ostatnie odnalezione znaki. dbBd
    [1], ...[n] Wyszukane podłańcuch w nawiasach. Liczba możliwych podłańcuch jest nieokreślona. [1] = bB
    [2] = d
    myRe lastIndex Indeks, od którego rozpocząć nowe wyszukiwanie. 5
    ignoreCase Wskazuje czy flaga "i" została użyta. true
    global Wskazuje czy flaga "g" została użyta do globalnego przeszukiwania. true
    multiline Wskazuje czy flaga "m" została użyta do globalnego przeszukiwania. false
    source Tekst wyszukiwanego łańcucha znaków. d(b+)(d)

    If your regular expression uses the "g" flag, you can use the exec method multiple times to find successive matches in the same string. When you do so, the search starts at the substring of str specified by the regular expression's lastIndex property. For example, assume you have this script:

    <SCRIPT LANGUAGE="JavaScript1.2">
    myRe=/ab*/g;
    str = "abbcdefabh";
    myArray = myRe.exec(str);
    document.writeln("Found " + myArray[0] +
       ". Next match starts at " + myRe.lastIndex)
    mySecondArray = myRe.exec(str);
    document.writeln("Found " + mySecondArray[0] +
       ". Next match starts at " + myRe.lastIndex)
    </SCRIPT>
    

    Skrypt ten wyświetli następujący tekst:

    Found abb. Next match starts at 3
    Found ab. Next match starts at 9 
    

    Przykłady

    Przykład: Zastosowanie exec

    In the following example, the user enters a name and the script executes a match against the input. It then cycles through the array to see if other names match the user's name.

    This script assumes that first names of registered party attendees are preloaded into the array A, perhaps by gathering them from a party database.

    <HTML>
    
    <SCRIPT LANGUAGE="JavaScript1.2">
    A = ["Frank", "Emily", "Jane", "Harry", "Nick", "Beth", "Rick",
          "Terrence", "Carol", "Ann", "Terry", "Frank", "Alice", "Rick",
          "Bill", "Tom", "Fiona", "Jane", "William", "Joan", "Beth"]
    
    function lookup() {
       firstName = /\w+/i();
       if (!firstName)
          window.alert (RegExp.input + " isn't a name!");
       else {
          count = 0;
          for (i=0; i<A.length; i++)
             if (firstName[0].toLowerCase() == A[i].toLowerCase()) count++;
          if (count ==1)
             midstring = " other has ";
          else
             midstring = " others have ";
          window.alert ("Thanks, " + count + midstring + "the same name!")
       }
    }
    
    </SCRIPT>
    
    Wpisz swoje imię i naciśnij Enter.
    
    <FORM> <INPUT TYPE:"TEXT" NAME="FirstName" onChange="lookup(this);"> </ FORM>
    
    </HTML>
    

    Autorzy i etykiety dokumentu

    Contributors to this page: Ptak82, Bedi, teoli, Mgjbot
    Ostatnia aktualizacja: teoli,