toons43
Messages postés14Date d'inscriptionmardi 24 février 2009StatutMembreDernière intervention 7 mai 2009
-
10 mars 2009 à 22:02
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 2015
-
12 mars 2009 à 13:42
Bonjour à tous,
J'ai un problème dans un formulaire pour un échange de liens.
Dans mon formulaire, il y a un champ pour l'url du site qui propose le lien et un champ ou pour l'url reciproque qui doit être sur le même domaine que l'url du site.
Je veux donc comparer ces 2 champs et m'assurer que le lien vers mon site est bien sur le même domaine que le site proposé
En php, j'y arrive avec ce test
preg_match("/^(http:\/\/)?([^\/]+)/i",$url, $matches);
preg_match("/^(http:\/\/)?([^\/]+)/i",$recurl, $recmatches);
if($matches[2] != $recmatches[2]){myerror("Le lien de réciproque doit être placé sous le même nom de domaine");}
Mais je voudais que la verif se fasse avant le submit en javascript
J'ai testé ça au hasard mais ca ne marche pas du tout
var url = document.ajout.url_lien.value;
var recurl = document.ajout.url_retour.value;
var urlpattern = /^(http:\/\/)?([^\/]+)/i
if((urlpattern[2].match(url)) != (urlpattern[2].match(recurl))){
alert("Le lien de réciproque doit être placé sous le même nom de domaine")
returnfalse}
Si vous pouviez me donner un petit coup de main, peut-être que ce que je veux faire n'est pas possible.
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 11 mars 2009 à 12:19
Bonjour,
bah... une expression régulière étant très gourmande,
et comme elle ne semble pas indispensable ici,
j'eusse plutôt utilisé var résultat=chaîne à contrôler.split("/");
qui retourne un array. reste à tester le bon "poste"
( une expression régulière ça devrait le faire aussi ! )
à faire dans le onsubmit du formulaire avec un bouton submit donc.
Cordialement [mon Site] [M'écrire] Bul
toons43
Messages postés14Date d'inscriptionmardi 24 février 2009StatutMembreDernière intervention 7 mai 2009 11 mars 2009 à 18:38
Merci pour le lien
Voila ce que j'ai fais
var url = document.ajout.url_lien.value;
var recurl = document.ajout.url_retour.value;
var resultat = url.split(/\/+/g)[1];
var resultat2 = recurl.split(/\/+/g)[1];
if (resultat != resultat2) {
alert('Le lien de réciproque doit être placé sous le même nom de domaine')
return false }
Tout d'abord ça fonctionne, donc merci pour la soluce
Par contre est-ce que c'est propre comme code, où on peut faire plus simple ?
Merci encore
Vous n’avez pas trouvé la réponse que vous recherchez ?
toons43
Messages postés14Date d'inscriptionmardi 24 février 2009StatutMembreDernière intervention 7 mai 2009 12 mars 2009 à 13:33
Merci pour cette réponse,
Je n'ai pas mis le toLowerCase, je ne pense pas que ce soit utile
pour le reste j'ai un test du champ qui verifie si le http:// est présent et il faut qu'il y ait les www soient dans les 2 champs soit dans aucun mais les 2 marches
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 12 mars 2009 à 13:42
>>Je n'ai pas mis le toLowerCase, je ne pense pas que ce soit utile
www.toto.fr est-ce égal à WwW.ToTo.FR sans toLowerCase ( ou Upper )?
>>pour le reste ...
ok... certaines choses sont testées
toutes ?
si cela te convient, c'est nickel.