Traitement d'une chaine passé par la methode get

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

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.