Rechercher : dans
Par :

REGEX Vérifier syntaxe URL

Dernière réponse le 9 sep 2009 à 12:04:46 Trezegoal, le 16 mai 2008 à 12:55:26 
 Signaler ce message aux modérateurs

Bonjour,

function verif_url($url) {
		$motif_url=("^^http://([a-zA-Z0-9-]+.)?([a-zA-Z0-9-]+.)?[a-zA-Z0-9-]+\.[a-zA-Z]{2,4}(:[0-9]+)?(/[a-zA-Z0-9-]*)?(.[a-zA-Z0-9]{1,4})?$");
		if (!ereg($motif_url, $url)) {
			return 'Champs non conforme';
		}
		else return("URL valide");
	}
	echo verif_url("http://www.france-patrimoine.fr/liens/index.php"); echo "<br />";
	echo verif_url("http://www.lequipe.fr"); echo "<br />";
	echo verif_url("http://www.juanperdomo.com/fra"); echo "<br />";

ma premiere url est considéré comme fausse, je n'arrive pas a faire en sorte qu'elle soit considérée comme bonne
la regex je les trouvé sur un vieux forum donc c'est difficile de la modifier sans faire d'erreur.
Configuration: Windows XP
Firefox 2.0.0.14

Meilleures réponses pour « REGEX Vérifier syntaxe URL » dans :
[Connexion] Mon accès à internet ne fonctionne plus Voir1. Récupération des paramètres de connexion 2. Vérification de la connexion 3. Vérification de la résolution de noms 4. Vérification des applications 5. Récupérer sa connexion après une infection A voir aussi 1. Récupération des...
3D Secure / Verified by Visa / SecureCode: Qu'est-ce que c'est ? VoirDepuis octobre 2008, les banques et commerçants en ligne ont commencé à adopter le système 3DSecure pour les paiements sur Internet. Qu'est-ce que c'est ? 3DSecure est appelé "Verified by Visa" chez Visa, et "SecureCode" chez Mastercard. (Les logos...
[Linux] Forcer la vérification des disques (fsck) VoirForcer la vérification des disques Finalité Sous Linux la vérification des disques se fait grâce à la commande fsck. Toutefois, pour des raisons de sécurité des données présentes sur le disque, il est fortement déconseillé de lancer un fsck sur une...
URL VoirQu'est-ce qu'une URL? Une URL (Uniform Resource Locator) est un format de nommage universel pour désigner une ressource sur Internet. Il s'agit d'une chaîne de caractères ASCII imprimables qui se décompose en cinq parties : Le nom du...
Javascript - L'objet RegExp VoirLes particularités de l'objet RegExp L'objet RegExp est un objet permettant de manipuler des expressions régulières, c'est-à-dire des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, afin de trouver des...
Attaques par manipulation d'URL VoirIntroduction aux URL L'URL (Uniform Resource Locator) d'une application web est le vecteur permettant d'indiquer la ressource demandée. Il s'agit d'une chaîne de caractères ASCII imprimables qui se décompose en cinq parties : Le nom du...

1

DidUngar, le 15 jun 2008 à 04:19:58

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");
}

Répondre à DidUngar

2

Guss=), le 2 sep 2009 à 19:20:02

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

Répondre à Guss=)

3

lami20j, le 2 sep 2009 à 23:57:22

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.

106485010510997108

Répondre à lami20j

4

McFly, le 3 sep 2009 à 10:00:44

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.

Répondre à McFly

5

Guss=), le 5 sep 2009 à 13:25:44
  • +1

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 :

http://www.phpsources.org/scripts92-PHP.htm

Pas le n1, mais le second.
Voila j'espere que ca t'aura aider

Cordialement,

Guss=)

Répondre à Guss=)

6

 max, le 9 sep 2009 à 12:04:46

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("http://www.lequipe.fr") ? "matches" : "doesn't match");
System.out.println(verifUrl("http://www.juanperdomo.com/fra") ? "matches" : "doesn't match");
}

private static boolean verifUrl(String url) {
Pattern pattern = Pattern.compile(URL_REGEX);
return pattern.matcher(url).matches();
}


A+

Répondre à max
Collection CommentÇaMarche.net