Traitement d'une chaine passé par la methode get

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 915 fois - Téléchargée 33 fois

Contenu du snippet

Traitement de la chaine de caractère passé en paramètre dans la barre d'adresse lorsqu'une methode Get à été utilisé.
ce code récupère tout ce qui ce trouve derrière le ?, et ensuite il ne garde que ce qui est derrière le =. (Ma fonction n'accepte qu'un paramètre)
Le plus interressant vien en suite. Mon code change les %5C, %3A ou + en caratère originaux c'est a dire en /, : et espace.
Vous pouvez bien sur en rajouté!
Bon je voudrais remercier tucsoufle pour son aide.

Source / Exemple :


<script language="JavaScript">
function GetUrl(){
// Cette partie permet de prendre le paramètre posté par une methode get,
// celle ci ne prend en compte q'un seul paramètre
   param = location.search

   param = location.search.substring(1,location.search.length)

   position = param.substring(0,param.indexOf("="))

   maVal = param.substring(position.length+1,param.length);
//Fin de la partie

  var x;
for (x=0;x<=maVal.length;x++){//parcour de la chaine

	//s'il trouve le caractère % c'est qu'il y a eu une transformation de caractère faite par l'IE lors de l'envoie de paramètre dans l'URL
	if (maVal.substring(x,x+1)=="%"){
		switch (maVal.substring(x,x+3)){//On teste quel est le type du caractère
  			case "%5C":
    			maVal=SetRemplace(maVal,x,"/");//appel de la petite fonction qui remplace
  			 break;
    			case "%3A":
			maVal=SetRemplace(maVal,x,":");
  			  break;//possible d'en rajouté (moi je n'avais besoin que de ceux la!
		}    
	}
	if (maVal.substring(x,x+1)=="+"){//le + représente les espace dans la barre d'adresse URL
		maVal=SetEspace(maVal,x)
	}	                
}      
document.write(maVal);

}

function SetRemplace(uneVal,x,unRemp){//on prend le début, on enlève le milieu qui ne nous interresse pas et on rajoute la fin
uneVal=uneVal.substring(0,x)+unRemp+uneVal.substring(x+3,uneVal.length);
return uneVal;
}

function SetEspace(uneVal,x){
uneVal=uneVal.substring(0,x)+" "+uneVal.substring(x+1,uneVal.length);
return uneVal;
}
</script>
<BODY OnLoad='GetUrl();'>
</body>

A voir également

Ajouter un commentaire Commentaires
Messages postés
142
Date d'inscription
jeudi 12 février 2004
Statut
Membre
Dernière intervention
20 mai 2008

oui je sais mais en faite on ma donné la fonction après que j'ai posté.
Messages postés
188
Date d'inscription
mercredi 15 mai 2002
Statut
Membre
Dernière intervention
25 avril 2009

Salut,
C'est très bien ton code quoique un peu long pour ce qu'il fait.
N'oublis pas qu'il existe la fonction js unescape pour les caractere spéciaux.

Have Fun.
Messages postés
142
Date d'inscription
jeudi 12 février 2004
Statut
Membre
Dernière intervention
20 mai 2008

Je suis pas un génie mais j'atend vos commentaire.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.