le MEMO du WEB développeur
••• Javascript •••  Liste des Mémos, astuces et bonnes pratiques

Vérifier la validité d'une URL en Javascript - Expression régulière

Pour vérifier que le format d'une adresse internet est correct en javascript, utilisons les expressions régulières.

En paramètres, l'URL a tester, suivi d'un boolean qui détermine si  'http://' est facultative ou pas pour valider l'URL.

function Url_Valide(UrlTest, http_fac) {
  if (http_fac){ //le segment "http://" est facultatif
     var regexp = new RegExp("^((http|https):\/\/)?(www[.])?([a-zA-Z0-9]|-)+([.][a-zA-Z0-9(-|\/|=|?)?]+)+$");
   }else{
    var regexp = new RegExp("^((http|https):\/\/){1}(www[.])?([a-zA-Z0-9]|-)+([.][a-zA-Z0-9(-|\/|=|?)?]+)+$");
   }
  if (regexp.test(UrlTest)){
    alert ('Mon URL est valide');
  else{
    alert ('Mon URL n\'est PAS valide');
  }
  return regexp.test(UrlTest);
}

 

publié le 13/08/2013 par Memo Web
Expression régulière
Commentaire :
Une URL ne concerne pas que les adresses de serveurs web (http et https) mais aussi d'autres protocoles : ftp:// ; mailto: ; news:// ; gopher:// ; etc... et tester une URL devient compliqu� d'autant plus par parfois le www est optionnel.

De plus, si le serveur attend les requ�tes sur son port standard, on n'indique rien sinon, il faut indiquer le port. Syntaxe: http://serveur-web.tld:port ex: http://truc.fr:10500/ (les 1024 premiers ports sont r�serv�s)

Pour finir, une URL compl�te peut mentionner login et mot de passe selon la syntaxe http://login:mot-de-passe@machine.domaine:port/ tel que http://jean:Jk39wR@www.monserveur.fr:2130/

Donc si ce qui est propos� comme solution est valide et tr�s utile, il ne teste pas TOUTES les URL tel que son nom le laisse supposer et il faudrait peut-�tre changer le nom de la fonction Url_Valide() par quelque chose du genre http_Valide() ou UrlWeb_Valide() mais pas Url_valide() tout court qui n'englobe pas TOUTES les URL.

Cela dit, j'ai trouv� sur ce site des solutions � quelques difficult�s que j'avais rencontr�es. Merci.
par inconnu, le 09/06/2016
Commenter le Mémo :

Défilement continu horizontal ou vertical d'une bande d'images en javascript
Vérifier si un champs est bien renseigné dans un formulaire HTML
Empêcher le clic droit sur les images de votre site
Créer un élément HTML en JavaScript
Vérifier qu'une variable est de type entier en javascript
Parcourir tous les éléments d'une classe CSS en Javascript
Replace() ou Remplacer une chaîne de caractères par une autre en Javascript
Vérifier qu'une chaine est constituée de caractères alphanumériques
Créer un bouton imprimer sur sa page web
Récupérer la valeur ou le texte sélectionné d'un élément SELECT dans un formulaire
Ajoutez vos propres Mémos sur MEMO-WEB

Il suffit de vous créer un compte sur le site

Vous pourrez choisir un thème parmis l'une des catégories proposées par MEMO-WEB.

Rédigez votre Mémo.
Après validation par MEMO-WEB, il sera mis en ligne.
Ajouter vos Mémos