REGEX Vérifier syntaxe URL
Résolu/Fermé
A voir également:
- REGEX Vérifier syntaxe URL
- Lien url - Guide
- Verifier url - Guide
- Verifier compatibilite windows 11 - Guide
- Vérifier que le serveur freebox est bien connecté à internet - Forum Freebox
- Atlas pro url serveur invalide - Forum TV & Vidéo
6 réponses
hugs-giver
Messages postés
88
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
10 juin 2014
30
22 déc. 2009 à 22:34
22 déc. 2009 à 22:34
Salut,
Ben moi je suis menuisier, mais je suis aussi fégnant, donc voila un super truc tout fait que j'ai trouver sur un autre forum :
<?php
if(filter_var("$url", FILTER_VALIDATE_URL))
{
echo "ok";
}
else
{
echo "pa ok";
}
?>
Et ya la même pour mail!
Ben moi je suis menuisier, mais je suis aussi fégnant, donc voila un super truc tout fait que j'ai trouver sur un autre forum :
<?php
if(filter_var("$url", FILTER_VALIDATE_URL))
{
echo "ok";
}
else
{
echo "pa ok";
}
?>
Et ya la même pour mail!
Hello,
Voici une solution qui marche avec les regexps (en java mais en php ça doit pas être bien différent....)
private static final String R_PROTOCOL = "(http(s)?|ftp)";
private static final String R_HOSTNAMEANDPORT = "[\\w-]+(\\.[\\w-]+)*(:(\\d+))?";
private static final String R_RELATIVEPATH = "(/\\w+)*(/\\w+\\.\\w+)?";
private static final String R_QUERY = "(\\?\\w+=\\w+(&(\\w+=\\w+))*)?";
private static final String URL_REGEX = "^" + R_PROTOCOL + "://" + R_HOSTNAMEANDPORT + R_RELATIVEPATH + R_QUERY;
public static void main(String[] args) {
System.out.println(verifUrl("http://www.france-patrimoine.fr/liens/index.php") ? "matches" : "doesn't match");
System.out.println(verifUrl("https://www.lequipe.fr/") ? "matches" : "doesn't match");
System.out.println(verifUrl("http://www.juanperdomo.com/fr/") ? "matches" : "doesn't match");
}
private static boolean verifUrl(String url) {
Pattern pattern = Pattern.compile(URL_REGEX);
return pattern.matcher(url).matches();
}
A+
Voici une solution qui marche avec les regexps (en java mais en php ça doit pas être bien différent....)
private static final String R_PROTOCOL = "(http(s)?|ftp)";
private static final String R_HOSTNAMEANDPORT = "[\\w-]+(\\.[\\w-]+)*(:(\\d+))?";
private static final String R_RELATIVEPATH = "(/\\w+)*(/\\w+\\.\\w+)?";
private static final String R_QUERY = "(\\?\\w+=\\w+(&(\\w+=\\w+))*)?";
private static final String URL_REGEX = "^" + R_PROTOCOL + "://" + R_HOSTNAMEANDPORT + R_RELATIVEPATH + R_QUERY;
public static void main(String[] args) {
System.out.println(verifUrl("http://www.france-patrimoine.fr/liens/index.php") ? "matches" : "doesn't match");
System.out.println(verifUrl("https://www.lequipe.fr/") ? "matches" : "doesn't match");
System.out.println(verifUrl("http://www.juanperdomo.com/fr/") ? "matches" : "doesn't match");
}
private static boolean verifUrl(String url) {
Pattern pattern = Pattern.compile(URL_REGEX);
return pattern.matcher(url).matches();
}
A+
Pas sympa de parler comme ça. Pour une fois qu'un type se pointe en ayant quelquechose à montrer et non pas en disant "J'ai ça à faire, faites le moi", la moindre des choses est d'essayer de l'aider.
Quand tu dis que tu es en école de prog, et bien dans ce cas montre nous tes compétences et indique lui ses erreurs toi qui semble si certain de tes connaissances, à moins que ce ne soit que du flan.
Quand tu dis que tu es en école de prog, et bien dans ce cas montre nous tes compétences et indique lui ses erreurs toi qui semble si certain de tes connaissances, à moins que ce ne soit que du flan.
Merci pour la base , voila ma fonction :
function verif_url($url) {
$motif_charOfFile = "[a-zA-Z0-9._-]";
$motif_url=("^^http://([a-zA-Z0-9-]+\.)+([a-zA-Z0-9-]{2,4})".// site
"(:[0-9]{0,4}[1-9])?".// Port
"(/$motif_charOfFile*)*$");
if (!ereg($motif_url, $url)) {
return 'Champs non conforme';
}
else return("URL valide");
}
function verif_url($url) {
$motif_charOfFile = "[a-zA-Z0-9._-]";
$motif_url=("^^http://([a-zA-Z0-9-]+\.)+([a-zA-Z0-9-]{2,4})".// site
"(:[0-9]{0,4}[1-9])?".// Port
"(/$motif_charOfFile*)*$");
if (!ereg($motif_url, $url)) {
return 'Champs non conforme';
}
else return("URL valide");
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je voulais simplement ennoncer le fait que ce code ne marche pas alors qu' il est propose comme reponse !
Le principale pb venant du fait que meme si une url match, elle n' est pr autant valid .
ex : le host peut etre valid, mais pas la page.
Verifie que le retour de la page vaut 200. Tu as un tres bon code ici :
https://phpsources.net/code/php/url/92_verifier-levalidited-une-adresse-url
Pas le n1, mais le second.
Voila j'espere que ca t'aura aider
Cordialement,
Guss=)
Le principale pb venant du fait que meme si une url match, elle n' est pr autant valid .
ex : le host peut etre valid, mais pas la page.
Verifie que le retour de la page vaut 200. Tu as un tres bon code ici :
https://phpsources.net/code/php/url/92_verifier-levalidited-une-adresse-url
Pas le n1, mais le second.
Voila j'espere que ca t'aura aider
Cordialement,
Guss=)
Ba ecoute franchement ce code ne marche en aucun cas ! je te defie de trouver une URL ou il renvoie que c' est invalide !
Je suis en ecole de prog, et honetement c' est limite honteux de ta part de poster des infamite pareil !
Essaye de faire un peu plus attention l' avenir !
Bonne soiree
Je suis en ecole de prog, et honetement c' est limite honteux de ta part de poster des infamite pareil !
Essaye de faire un peu plus attention l' avenir !
Bonne soiree
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
2 sept. 2009 à 23:57
2 sept. 2009 à 23:57
Salut,
Je suis en ecole de prog,
Et alors?
Ba ecoute franchement ce code ne marche en aucun cas ! je te defie de trouver une URL ou il renvoie que c' est invalide !
C'est la seule raison pour laquelle tu as écrit ce message? Pour faire la morale?
CCM est un site d'entraide et chacun fait selon ses possibilités.
Si tu as une solution tu n'as qu'à la proposer. C'est le but de ce forum.
Je suis en ecole de prog,
Et alors?
Ba ecoute franchement ce code ne marche en aucun cas ! je te defie de trouver une URL ou il renvoie que c' est invalide !
C'est la seule raison pour laquelle tu as écrit ce message? Pour faire la morale?
CCM est un site d'entraide et chacun fait selon ses possibilités.
Si tu as une solution tu n'as qu'à la proposer. C'est le but de ce forum.
24 févr. 2010 à 17:12
12 avril 2010 à 17:08
https://www.php.net/manual/fr/function.filter-var.php
22 juil. 2010 à 15:47