Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544

    Campo non obbligatorio e regex di controllo

    Ho fatto questo codice che però non va bene, il suo scopo sarebbe quello di far uscire l'alert se nel campo Messaggio tra le varie parole viene inserito un URL non valido, ma succede che esce l'alert anche se nessun URL viene scritto nel Messaggio.

    Non è obbligatorio che l'utente scriva un URL ma se lo fa deve scattare la regex di controllo


    codice:
    //Valida l'url che viene messo nel messaggio 
    if (f.messaggio.value.length != 0 ){ 
    var reg = new RegExp("^((http(s)?:\/\/|ftp:\/\/)|(www\\.))([a-z0-9][-.a-z0-9]*)(\\.[a-z]{2,4}[/?]?)([/?][-_~;:.,\\'*^+()=!|?£§$%&#A-Za-z0-9/]*)?$");                                             
    if (!f.messaggio.value.match(reg)){                                                                                                       
    f.messaggio.style.backgroundColor='yellow'
    alert("Nel Testo hai inserito un' URL non valido")
    f.messaggio.focus();
    return false;
    }
     }
    return true;

  2. #2
    Prova a gestire anche il caso in cui la variabile length sia 'undefined'.
    E' comunque diverso da zero...
    Tu invece vuoi che sia diverso da zero -E- definito, ovvero non nullo.

  3. #3
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da mordillone
    Prova a gestire anche il caso in cui la variabile length sia 'undefined'.
    E' comunque diverso da zero...
    Tu invece vuoi che sia diverso da zero -E- definito, ovvero non nullo.
    Come si fa?

  4. #4
    prova a testare anche lo stato undefined.
    Ora mi sfugge la sintassi esatta, dovresti poi controllare in rete se ci vuole undefined con o senza apici:

    if (f.messaggio.value.length != 0 &&
    (f.messaggio.value.length != undefined || f.messaggio.value.length != 'undefined')
    ){

  5. #5
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da mordillone
    prova a testare anche lo stato undefined.
    Ora mi sfugge la sintassi esatta, dovresti poi controllare in rete se ci vuole undefined con o senza apici:

    if (f.messaggio.value.length != 0 &&
    (f.messaggio.value.length != undefined || f.messaggio.value.length != 'undefined')
    ){
    Ho messo cosi, ho provato undefined con e senza apici ma da sempre alert, è sufficiente che nel campo inserisco anche un solo carattere qualsiasi e poi clicco su Invia esce l'alert anche se non ho inserito un url

    codice:
    if (f.messaggio.value.length != 0 && (f.messaggio.value.length != 'undefined' || f.messaggio.value.length != 'undefined')){
    var reg = new RegExp("^((http(s)?:\/\/|ftp:\/\/)|(www\\.))([a-z0-9][-.a-z0-9]*)(\\.[a-z]{2,4}[/?]?)([/?][-_~;:.,\\'*^+()=!|?£§$%&#A-Za-z0-9/]*)?$");                                             
    if (!f.messaggio.value.match(reg)){                                                                                                       
    f.messaggio.style.backgroundColor='yellow'
    alert("Nel Testo hai inserito un' URL non valido")
    f.messaggio.focus();
    return false;
    }
     }
    return true;

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Prova cosi:
    codice:
    if (f.messaggio.value.indexOf("http://") != -1 || f.messaggio.value.indexOf("https://") != -1 || f.messaggio.value.indexOf("ftp://") != -1 && f.messaggio.value.indexOf("www.") != -1 ){
    var reg = new RegExp("^((http(s)?:\/\/|ftp:\/\/)|(www\\.))([a-z0-9][-.a-z0-9]*)(\\.[a-z]{2,4}[/?]?)([/?][-_~;:.,\'*^+()=!|?£§$%&#A-Za-z0-9/]*)?$");                                             
    if (!f.messaggio.value.match(reg)){                                                                                                       
    f.messaggio.style.backgroundColor='yellow'
    alert("Nel Testo hai inserito un' URL non valido")
    f.messaggio.focus();
    return false;
    }
     }
    return true;
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da cavicchiandrea
    Prova cosi:
    codice:
    if (f.messaggio.value.indexOf("http://") != -1 || f.messaggio.value.indexOf("https://") != -1 || f.messaggio.value.indexOf("ftp://") != -1 && f.messaggio.value.indexOf("www.") != -1 ){
    var reg = new RegExp("^((http(s)?:\/\/|ftp:\/\/)|(www\\.))([a-z0-9][-.a-z0-9]*)(\\.[a-z]{2,4}[/?]?)([/?][-_~;:.,\'*^+()=!|?£§$%&#A-Za-z0-9/]*)?$");                                             
    if (!f.messaggio.value.match(reg)){                                                                                                       
    f.messaggio.style.backgroundColor='yellow'
    alert("Nel Testo hai inserito un' URL non valido")
    f.messaggio.focus();
    return false;
    }
     }
    return true;
    Esce alert se inserisco gli item ma a me serve che la reg riconosca e validi l'url nel campo-messaggio.
    Io ho già un codice che valida il campo URL mentre invece qui si tratta di fargli "vedere" l'url nel mezzo del messaggio

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Originariamente inviato da Ht28
    Esce alert se inserisco gli item ma a me serve che la reg riconosca e validi l'url nel campo-messaggio.
    Io ho già un codice che valida il campo URL mentre invece qui si tratta di fargli "vedere" l'url nel mezzo del messaggio
    :master: posta il link alla pagina pubblica
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da cavicchiandrea
    :master: posta il link alla pagina pubblica
    Devo postare il link del form? Se si con o senza codice che mi hai dato?

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    ok
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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 © 2024 vBulletin Solutions, Inc. All rights reserved.