Ricerca dell'esistenza del protocollo ( http | https ) in un url

MarcoGrazia

Utente Attivo
15 Dic 2009
853
21
28
63
Udine
www.stilisticamente.com
Ciao,
Sto costruendo una semplice routine che mi verifichi se in un url inserito da un utente in un form, riporti o meno il protocollo di trasmissione, se non c'è lo aggiunge.
Il codice che ho sviluppato non usa le regex ma per velocizzare l'esecuzione dello script usa l'indexOf() quindi è questo:
codice:
Codice:
var url = $( this ).val();
if ( url.indexOf( 'http://' ) == -1 || url.indexOf( 'https://' ) == -1 ) {
                        //    Se manca il protocollo lo aggiungo
                        url = 'http://' + url;
                        $( this ).val( url );
}
dove url è la variabile che riporta quanto scritto dall'utente nel form.

Il problema è che fa sempre il confronto anche se c'è il protocollo di trasmissione all'inizio dell'url e ci sto diventando matto.
Sbaglio in un punto ma non capisco dove, se c'è la risposta dovrebbe essere maggiore di -1 e quindi saltare il confronto ma non è così.
 
Ciao, cambia || con && : solo se non ci sono entrambi lo aggiungi
 

Discussioni simili