Comparer 2 noms de domaines dans un formulaire

toons43 Messages postés 14 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 7 mai 2009 - 10 mars 2009 à 22:02
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Derniè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.

D'avance merci beaucoup

7 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
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
0
toons43 Messages postés 14 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 7 mai 2009
11 mars 2009 à 16:15
Merci pour cette réponse,

Par contre je suis pas sur de comprendre ce que je dois faire.
Peux-tu détailler un peux plus ou me donner une piste

Merci
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
11 mars 2009 à 16:20
euh... utiliser split   quelques explications ici
dans une fonction appelée dans onsubmit du formulaire.
0
toons43 Messages postés 14 Date d'inscription mardi 24 février 2009 Statut Membre Derniè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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
12 mars 2009 à 10:04
plus simple, je ne sais pas
mais peut-être regarder toLowerCase ?
( et www.toto est-ce égal à http://www.toto et à http://toto ... ? )
0
toons43 Messages postés 14 Date d'inscription mardi 24 février 2009 Statut Membre Derniè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

Voila, merci en tout cas pour ton aide à bientôt
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
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.
0
Rejoignez-nous