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

    "Due punti (:)" come carattere speciale in RegExp

    Salve,

    giocavo con le regular expression...ho questa reg:

    codice:
    \b([www\.]{1}[A-Za-z0-9\w\+\=\?\./\&]*)\b
    che mi par funzionare con link semplici e con querystring a seguito


    il problema che il tutto impazzisce se uso:

    codice:
    \b([http\://|www\.]{1}[A-Za-z0-9\w\+\=\?\./\&]*)\b
    non mi funziona piu nulla, o meglio considera link anche cose che non sono link (mentre questo link cmq lo prende bene: http://www.miosito.it)

    ho pensato che forse continua a considera i :... eppure in quel modo dovrebbero essere caratteri speciali...suggerimenti?


  2. #2
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Personalmente trovo inutile (ma è un'opinione personale) obbligare l'utente a scrivere anche il protocollo "http://", visto che è sempre lo stesso, una volta che il dominio ha "passato" il test, lo aggiungi in testa alla variabile che lo contiene, per esempio:

    codice:
    var rc = new RegExp("^[!#$&'*+/-9=?A-Z^-~-]+(\\.[!#$&'*+/-9=?A-Z^-~-]+)+$", "");
     
    if (!guestform.PAGINAWEB.value.match(rc))
      {
        ....
        return(false);
      }
     
    var url = "http://" + guestform.PAGINAWEB.value;
     
    ....
    se no, se proprio ci tieni:

    codice:
    var rc = new RegExp("^http://[!#$&'*+/-9=?A-Z^-~-]+(\\.[!#$&'*+/-9=?A-Z^-~-]+)+$", "");
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

  3. #3
    moh la provo...cmq non era obbligato, inquanto tra http e www c'era il | che significa "oppure"

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.