Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    ricerca di un'espressione regolare nei cookie

    Ciao a tutti,

    ho creato uno script che ad ogni caricamento visualizza una citazione differente. Una cosa molto semplice. Per evitare che venga presentata due volte la stessa, lo script genera casualmente un numero che confronta con un cookie.

    Avendo scoperto le espressioni regolari, volevo raffinare la ricerca nel cookie, che fino ad ora era molto complessa.

    Il mio obbiettivo è trovare quel numero composto da minimo 1 e massimo 3 cifre che segue la scritta "frase=".

    L'espressione regolare l'ho testata e funziona, è questa qui:

    (?<=\bfrase=)\d{1,3}\b

    All'inizio dello script dichiaro:

    var espr = new RegExp(/(?<=\bfrase=)\d{1,3}\b/);

    e poi al momento di fare la ricerca dichiaro:

    pre_frase = document.cookie.match(espr);

    Purtroppo in questo modo lo script non funziona e viene visualizzata una pagina bianca. Il resto dello script è sicuramente funzionante perchè con la ricerca "canonica" all'interno del cookie funziona.

    Dove sbaglio?

    Grazie

  2. #2
    Vi allego anche cosa dice il debugger... non riesce a leggere l'intera espressione regolare, ma non capisco come fargliela capire...

    JavaScript - file://localhost/home/francesco-suse/Dropbox/Siti%20Internet/Script%20Javascript/frasi-casuali.html
    Linked script compilation
    Syntax error at line 23 while loading:
    =\bfrase=)\d{1,3}\b/));
    --------------------^

  3. #3
    Scusate... ma non sono ancora riuscito a trovare una soluzione... mi sapete aiutare??

    Grazie

  4. #4
    Prova questo

    codice:
    var nelcookie=/frase=([0-9]{1,3})/ig.exec(unescape(document.cookie)) );
    if(nelcookie.length>1){alert(nelcookie[1])}
    L'espressione regolare che vedi è:
    /frase=([0-9]{1,3})/ig
    poi aggancia il metodo exec e non il metodo match. Il metodo exec permette di catturare gli elementi in parentesi della espressione regolare, e se li trova li riporta in una array alla posizione indice [1] (almeno per il primo match; si presuppone da quel che dici che tu puoi averne solo uno, poichè nel cookie dici di salvarne solo uno in modo da non avere quantomeno due doppioni consecutivi della stessa citazione)

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.