OVH Cloud OVH Cloud

Regex pour controle URL

7 réponses
Avatar
Gérard
Bonjour,

je suis à la recherche d'un bout de code JS avec une expression
régulière pour contrôler la validité d'une URL. J'ai bien trouvé
pour contrôler une adresse mail, mais pas pour les URL.

Merci d'avance,

@++

GG
--
---------------------------------------------------------------
http://gerardgrandjean.net
http://gerardgrandjean.net/menu_voyages.php3 Voyages
http://gerardgrandjean.net/page_liens.php3 Liens
http://gerardgrandjean.net/actu.php3 Revue de presse
http://gerardgrandjean.net/menu_rss.php Annuaire RSS

7 réponses

Avatar
Olivier Miakinen

[ expression régulière pour contrôler la validité d'une URL. ]
J'ai bien trouvé pour contrôler une adresse mail


Juste pour savoir : mon adresse mail <om+ est-elle
considérée comme valide ?

--
Olivier Miakinen
Aidez Saburi à rester près de sa famille et poursuivre ses études
en France, signez la pétition :
<http://www.fcpe94.ouvaton.org/article_petition.php3?id_article=9>

Avatar
YD

je suis à la recherche d'un bout de code JS avec une expression
régulière pour contrôler la validité d'une URL. J'ai bien trouvé
pour contrôler une adresse mail, mais pas pour les URL.


La question est loin d'être simple. Il faut savoir s'il s'agit
d'une URL "dans l'absolu", ce qui englobe énormément de choses,
protocoles http, mais aussi ftp, mailto, file, etc., ou "simplement"
des URL http (auquel cas il s'agit de savoir si la demande concerne
aussi les IDN, noms de domaines avec caractères internationaux...).

Bref pour avoir une réponse utile, il vaudrait mieux préciser la
question...

--
Y.D.

Avatar
p_geni...
Gérard wrote:

je suis à la recherche d'un bout de code JS avec une expression
régulière pour contrôler la validité d'une URL. J'ai bien trouvé


bonjour,
si vous attendez des url/uri du type
http://.... ou ftp://....

vous pouvez tester cela avec une véritable connexion (non bloquante) à ses
URL car une url du type http://www.machintrucblabli.com est
de "syntaxe" valide mais le serveur en question n'existe pas.

renseignez-vous sur l'object XMLHttpRequest

et voici un exmple qui peut marcher avec FireFox, Mozilla et IE

http://www.w3schools.com/xml/xml_http.asp

A+,
Pierre.
-----
échangez opinions et commentaires dans les forums de discussion.
http://www.usenetgratuit.com/

Avatar
Gérard

je suis à la recherche d'un bout de code JS avec une expression
régulière pour contrôler la validité d'une URL. J'ai bien trouvé
pour contrôler une adresse mail, mais pas pour les URL.



La question est loin d'être simple. Il faut savoir s'il s'agit
d'une URL "dans l'absolu", ce qui englobe énormément de choses,
protocoles http, mais aussi ftp, mailto, file, etc., ou "simplement"
des URL http (auquel cas il s'agit de savoir si la demande concerne
aussi les IDN, noms de domaines avec caractères internationaux...).

Bref pour avoir une réponse utile, il vaudrait mieux préciser la
question...



Il s'agit de vérifier la syntaxe (et non la disponiblité) d'un site,
donc qq chose commençant par http:// ou https://

GG

--
---------------------------------------------------------------
http://gerardgrandjean.net
http://gerardgrandjean.net/menu_voyages.php3 Voyages
http://gerardgrandjean.net/page_liens.php3 Liens
http://gerardgrandjean.net/actu.php3 Revue de presse
http://gerardgrandjean.net/menu_rss.php Annuaire RSS


Avatar
YD

je suis à la recherche d'un bout de code JS avec une expression
régulière pour contrôler la validité d'une URL. J'ai bien trouvé
pour contrôler une adresse mail, mais pas pour les URL.



Il s'agit de vérifier la syntaxe (et non la disponiblité) d'un site,
donc qq chose commençant par http:// ou https://


Première approche cette fonction. Elle vérifie la conformité avec (ce
que j'ai compris de) la RFC-1035, à savoir le nom de domaine devrait
contenir uniquement lettres (majuscules et minuscules), chiffres et le
trait d'union. Elle accepte tout ce qui suit après le / qui vient après
le domaine, ne pouvant préjuger du type de ressources, du codage etc.
(la question parle bien de site, pas de ressources).
La fonction retourne true ou false.

function testURL(url){
var urlRE=/^s*(?:https?://)(?:[-a-zA-Z0-9]+.?)+([-a-zA-Z0-9]+)(?:/.*)?/;
return urlRE.test(url);
}

HTH
--
Y.D.



Avatar
Olivier Miakinen

Il s'agit de vérifier la syntaxe (et non la disponiblité) d'un site,
donc qq chose commençant par http:// ou https://


Tu n'as pas répondu à ma question, mais en effet ton test de syntaxe des
adresses de courriel est faux.

Clique ici :
http://gerardgrandjean.net/saisie_membre.php?message=Le%20mot%20de%20passe%20est%20obligatoire&pseudo=Olivier%20Miakinen&nom=Miakinen&prenom=Olivier&email=om+

Remplace l'espace par un « + » dans l'adresse de courriel, et clique sur
GO : tu verras que cette adresse est refusée (et retourne une page dans
laquelle le « + » est remplacé par une espace).

Tiens, il te suffit même de partir de ceci :
http://gerardgrandjean.net/saisie_membre.php?pseudo=Olivier%20Miakinen&nom=Miakinen&prenom=Olivier&email=om%

Pourtant, si tu écris à <om+, je
recevrai le message et je te répondrai.


--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)

Avatar
Gérard

je suis à la recherche d'un bout de code JS avec une expression
régulière pour contrôler la validité d'une URL. J'ai bien trouvé
pour contrôler une adresse mail, mais pas pour les URL.




Il s'agit de vérifier la syntaxe (et non la disponiblité) d'un site,
donc qq chose commençant par http:// ou https://



Première approche cette fonction. Elle vérifie la conformité avec (ce
que j'ai compris de) la RFC-1035, à savoir le nom de domaine devrait
contenir uniquement lettres (majuscules et minuscules), chiffres et le
trait d'union. Elle accepte tout ce qui suit après le / qui vient après
le domaine, ne pouvant préjuger du type de ressources, du codage etc.
(la question parle bien de site, pas de ressources).
La fonction retourne true ou false.

function testURL(url){
var
urlRE=/^s*(?:https?://)(?:[-a-zA-Z0-9]+.?)+([-a-zA-Z0-9]+)(?:/.*)?/;
return urlRE.test(url);
}

HTH
Merci pour l'expression régulière.


@++

Gérard

--
---------------------------------------------------------------
http://gerardgrandjean.net
http://gerardgrandjean.net/menu_voyages.php3 Voyages
http://gerardgrandjean.net/page_liens.php3 Liens
http://gerardgrandjean.net/actu.php3 Revue de presse
http://gerardgrandjean.net/menu_rss.php Annuaire RSS