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 :

Vérifier qu'une chaine est constituée de caractères alphanumériques
Empêcher le clic droit sur les images de votre site
La fonction isNaN ou comment vérifier qu'une variable est un nombre
Afficher un message avant de quitter une page
Savoir si une variable est définie en javascript
Parcourir un tableau en JavaScript
Vérifier si un champs est bien renseigné dans un formulaire HTML
Typer ses variables en javascript
Format e-mail et téléphone portable
Parcourir tous les éléments d'une classe CSS en Javascript
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