51 votes

Ajouter "http://" à une URL qui ne contient pas déjà "http://"

J'ai un input qui enregistre une URL, j'aimerais que cette entrée enregistrée reconnaisse quand "Http//" est absent du début de la variable mais je n'ai aucune idée par où commencer... est est-il possible de ne vérifier qu'une partie d'une chaîne ? - alors avoir une fonction qui s'ajoutera si besoin ?

22voto

rap-2-h Points 510

ES6, une doublure

Voici une approche "moderne":

 const withHttp = url => !/^https?:\/\//i.test(url) ? `http://${url}` : url;

Vous pouvez maintenant utiliser withHttp comme fonction :

 const myUrl = withHttp("www.example.org");

7voto

cjpetrus Points 71

Voici ce que j'utilise pour la gratification instantanée. en utilisant l'écouteur keyup dans jquery.

 $('#url').keyup(function () {
        if (  ($(this).val().length >=5) && ($(this).val().substr(0, 5) != 'http:') && ($(this).val().substr(0, 5) != 'https') ) {
            $(this).val('http://' + $(this).val());
        }
    });

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X