Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    12

    IndexOf che non si fermi al primo risultato

    Ciao,

    ho un problemino a cui non riesco venir a capo.

    Col mio js fino a ieri usavo l'indexOf per cercare una parola in un sorgente html, quindi facevo al richiesta GET e poi leggevo il sorgente usando l'indexOf.

    Ora così facendo mi trova la prima parola che matcha la mia ricerca e mi ritorna la posizione.

    Il problema che si ferma qui. Io ora ho necessità di non fermarmi al primo risultato ma di continuare e di trovare tutti i match della mia ricerca.

    Ho scoperto il comando match() solo che non mi ritorna la posizione ma mi ritorna un array contenente proprio la parola che cerco tante volte quante sono le aprole trovate.

    esempio:

    con match(/ciccio/gi);

    sorgente:

    ciccio=1
    ciccio=2
    ciccio=3

    risultato

    ciccio,ciccio,ciccio


    Io ionvece vorrei che mi ritornasse:

    1,5,9

    spero di essermi spiegato.

    Qualcuno mi può aiutare=?

    Grazie mille

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Puoi ciclare usando la sintassi completa ed usare l'indice trovato come secondo parametro....

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    codice:
    var montypython = 'Well, there is egg and bacon; egg sausage and bacon; \
    egg and spam; egg bacon and spam; egg bacon sausage and spam; \
    spam bacon sausage and spam; spam egg spam spam bacon and spam.';
    
    (function(string, re) {
        var indexesOf = [], i = 0;
        while((match = re.exec(string)) != null) {
            indexesOf[i++] = match.index;
        }
        alert('Occorrenza trovata ' + i + ' volte.');
        if (i > 0) alert('Posizioni : ' + indexesOf );
    })(montypython, /spam/ig);
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    12
    Originariamente inviato da fcaldera
    codice:
    var montypython = 'Well, there is egg and bacon; egg sausage and bacon; \
    egg and spam; egg bacon and spam; egg bacon sausage and spam; \
    spam bacon sausage and spam; spam egg spam spam bacon and spam.';
    
    (function(string, re) {
        var indexesOf = [], i = 0;
        while((match = re.exec(string)) != null) {
            indexesOf[i++] = match.index;
        }
        alert('Occorrenza trovata ' + i + ' volte.');
        if (i > 0) alert('Posizioni : ' + indexesOf );
    })(montypython, /spam/ig);
    perfetto grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.