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

    Regexp per ottenere la versione di Firefox

    Premetto che ho già risolto così:
    codice:
    b=navigator.userAgent;
    version=b.substring(b.lastIndexOf("/")+1, b.length);
    version=parseInt(b);
    In pratica da una stringa tipo:

    Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3

    estrapolo l'ultima parte, "2.0.0.3", e infine la converto in numero.



    Giusto per scopo didattico, come avrei potuto fare la stessa cosa con le regexp?

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao Mega69,

    quello che hai fatto tu è estrarre dalla stringa tutto quello che c'è dopo l'ultimo slash /
    tradotto in regular expression sarebbe
    codice:
    b=navigator.userAgent
    version=b.match(/[^\/]+$/);

  3. #3
    Grazie mille, funziona perfettamente; ho solo un altro piccolo dubbio.

    Questa espressione calcola la versione di IE:
    codice:
    b=navigator.userAgent;
    version=parseInt(b.match(/MSIE\s[0-9\.]+/)[0].replace("MSIE ", ""));

    Non è che si potrebbe ottimizzare evitando di dover usare il replace?
    In parole povere come faccio a verificare che ci sia MSIE senza includerlo però nel match?

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    version=parseInt(b.match(/MSIE\s([0-9\.]+)/)[1]);

    probabilmente anche in altri modi (?:)

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.