Bonjour,
Et bien tout est dans le titre je récupere une url grace a window.location.host mais je voudrai faire en sorte d'enlever le www. au début de l'url si il est présent. Comme je débute en js je ne sais pas du tout comment faire ...
Merci.
Version imprimable
Bonjour,
Et bien tout est dans le titre je récupere une url grace a window.location.host mais je voudrai faire en sorte d'enlever le www. au début de l'url si il est présent. Comme je débute en js je ne sais pas du tout comment faire ...
Merci.
Avec replace() :
Code:var mon_domiane = location.host.replace('www.', '');
merci ça marche nikel mais tu peut m'expliquer ?
La méthode replace est invoquée sur une chaîne de caractères et prend comme arguments :
- Une chaîne ou un motif d'expression régulière.
- Un motif de remplacement.
Donc dans ton cas, on demande juste de remplacer dans la chaîne représentée par window.location.host le motif 'www.' par une chaîne vide ''.
Si le motif de remplacement n'est pas trouvé, la chaîne initiale ne sera pas modifiée ;)
Ahh ok c'est trop bien ce truc et pourquoi on a viré le window. ?
Tout simplement parce qu'il est implicite en tant qu'objet de plus haut niveau, donc considéré (à tort) comme objet global
pourquoi "a tort" ?
'désolé j'pose beaucoup de question ...)
Bon et bien pas de réponse XD
Merci beaucoups quand meme.
Ben tout simplement parce que window n'est pas l'objet global en JavaScript...
Pour t'en persuader, essaye de faire
dans une page Web et unCode:
1
2
3 alert(alert); alert(for); alert(window.var);
dans un document PDF et tu devrais comprendre ;)Code:alert('toto');
J'ai une autre question j'arrive pas a faire un truc si j'ai un url dans une variables prédéfinie et que je veut en enlever une partie je fais ça :
Mais ça ne marche pas :( pourquoi ?Code:
1
2
3
4 var url2 = "www.blabla.net"; document.write(url2); var url = url2('www.', ''); document.write(url2);
t'as oublié le replace ...
comme ça ?
Code:
1
2
3
4 var url2 = "www.blabla.net"; document.write(url2); var url = url2.replace('www.', ''); document.write(url2);
document.write est destructeur ....
si tu n'utilises pas de console pour debuger utilise plutot des alert pour visualiser les resultats, document.write à une facheuse tendance à effacer le contenu précédent de la page ...
Ben non
c'est url qui contient la valeur transformée, url2 reste identique...Code:
1
2 var url = url2.replace('www.', ''); document.write(url2);
Code:
1
2 var url = url2.replace('www.', ''); document.write(url);
merci du cout de main les gens ça marche et si je veut enlever un slash par exemple a la fin d'un url je ais ça ?
Code:
1
2
3
4 var url2 = "www.blabla.net"; document.write(url2); var url = url2.replace('/', ''); document.write(url);
c'est un peu plus complexe que ça ...
le plus sur serait encore de faire un match
Code:
1
2 var url2 = "www.blabla.net/trucmachi/page.php"; alert(url2.match(/www\.([^\/]+)\//)[1])
j'ai besoin d'une variable donc :
et tu peut m'expliquer ça stp ?Code:
1
2 var url2 = "www.blabla.net/trucmachi/page.php"; var url = url2.match(/www\.([^\/]+)\//)[1];
il s'agit d'une expression regulière
c'est en fait un patternCode:(/www\.([^\/]+)\//
www\. correspond à www.
puis ([^\/]+) tout ce qui n'est pas /
et enfin \/ le slash à le fin du domaine
le match va chercher cette suite de caractères dans la chaine et retourner un array. l'indice [1] de l'array correspond au permier niveau de parenthèses dans l'expression, autrement dit tout ce qui est entre www. et /