Maison interface Web js tutoriel Utiliser JavaScript pour implémenter les compétences urlencode et urldecode de PHP_javascript

Utiliser JavaScript pour implémenter les compétences urlencode et urldecode de PHP_javascript

May 16, 2016 pm 03:45 PM
urldecode urlencode

很多朋友说JavaScript的decodeURI函数也可以实现,但有bug所有呢,下面看下下面的函数,经过测试使用暂时没什么问题,我在之前的文章说过,这个和php的urldecode函数根本不是一回事。下面是我根据高人的代码改写的JavaScript版的urldecode函数,参考的链接在开头提到的文章中有,就不一一列举了。和之前的urlencode函数一样,只实现了utf-8版的。

1、urlencode

使用方法: urlencode(str);

function urlencode(clearString) 
{
	var output = '';
	var x = 0;
	
	clearString = utf16to8(clearString.toString());
	var regex = /(^[a-zA-Z0-9-_.]*)/;

	while (x < clearString.length) 
	{
		var match = regex.exec(clearString.substr(x));
		if (match != null && match.length > 1 && match[1] != '') 
		{
			output += match[1];
			x += match[1].length;
		} 
		else 
		{
			if (clearString[x] == ' ')
				output += '+';
			else 
			{
				var charCode = clearString.charCodeAt(x);
				var hexVal = charCode.toString(16);
				output += '%' + ( hexVal.length < 2 &#63; '0' : '' ) + hexVal.toUpperCase();
			}
			x++;
		}
	}

	function utf16to8(str) 
	{
		var out, i, len, c;

		out = "";
		len = str.length;
		for(i = 0; i < len; i++) 
		{
			c = str.charCodeAt(i);
			if ((c >= 0x0001) && (c <= 0x007F)) 
			{
				out += str.charAt(i);
			} 
			else if (c > 0x07FF) 
			{
				out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
				out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
				out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
			} 
			else 
			{
				out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
				out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
			}
		}
		return out;
	}

	return output;
}
Copier après la connexion

2、urldecode

使用方法:urldecode(url);

function urldecode(encodedString)
{
	var output = encodedString;
	var binVal, thisString;
	var myregexp = /(%[^%]{2})/;
	function utf8to16(str)
	{
		var out, i, len, c;
		var char2, char3;

		out = "";
		len = str.length;
		i = 0;
		while(i < len) 
		{
			c = str.charCodeAt(i++);
			switch(c >> 4)
			{ 
				case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
				out += str.charAt(i-1);
				break;
				case 12: case 13:
				char2 = str.charCodeAt(i++);
				out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
				break;
				case 14:
				char2 = str.charCodeAt(i++);
				char3 = str.charCodeAt(i++);
				out += String.fromCharCode(((c & 0x0F) << 12) |
						((char2 & 0x3F) << 6) |
						((char3 & 0x3F) << 0));
				break;
			}
		}
		return out;
	}
	while((match = myregexp.exec(output)) != null
				&& match.length > 1
				&& match[1] != '')
	{
		binVal = parseInt(match[1].substr(1),16);
		thisString = String.fromCharCode(binVal);
		output = output.replace(match[1], thisString);
	}
	
	//output = utf8to16(output);
	output = output.replace(/\\+/g, " ");
	output = utf8to16(output);
	return output;
}
Copier après la connexion

当服务器端通过php的urlencode转码的就可以使用js的urldecode进行解析即可。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Fonction urldecode() de PHP : comment décoder une chaîne codée en URL en une chaîne brute et gérer les erreurs de décodage Fonction urldecode() de PHP : comment décoder une chaîne codée en URL en une chaîne brute et gérer les erreurs de décodage Nov 03, 2023 pm 03:17 PM

La fonction urldecode() de PHP a été créée en PHP4 et est une méthode courante de décodage d'URL. Le codage d'URL est une méthode de conversion des caractères non anglais d'une URL en caractères spéciaux afin de transmettre l'URL au serveur ou de traiter l'URL d'une autre manière. La fonction urldecode() restaure ces caractères spéciaux dans la chaîne d'origine. La syntaxe de cette fonction est la suivante : stringurldecode(string$str) le paramètre str représente le caractère qui doit être décodé

Fonction urlencode() de PHP : Comment encoder une chaîne dans un format sécurisé pour les URL Fonction urlencode() de PHP : Comment encoder une chaîne dans un format sécurisé pour les URL Nov 03, 2023 pm 12:39 PM

Fonction urlencode() de PHP : Comment encoder une chaîne dans un format sécurisé pour les URL, des exemples de code spécifiques sont nécessaires Avec le développement d'Internet, les URL sont largement utilisées dans la vie quotidienne et nous devons souvent encoder des chaînes avec des caractères spéciaux. dans des formats sécurisés pour les URL. Format pour transmettre des paramètres dans l'URL ou demander une page Web. PHP fournit la fonction urlencode() pour accomplir cette tâche. Cet article présentera l'utilisation de la fonction urlencode() et donnera quelques exemples de code spécifiques. 1. ton

Comment utiliser la fonction urlencode pour encoder une URL en PHP Comment utiliser la fonction urlencode pour encoder une URL en PHP Jun 26, 2023 pm 12:48 PM

Dans le développement moderne, la transmission de données via des URL est un moyen courant. Cependant, étant donné que l'URL peut contenir des caractères spéciaux, tels que des espaces, des barres obliques et des points d'interrogation, ces caractères spéciaux détruiront la structure de l'URL et entraîneront l'échec de la transmission des données. Afin d'éviter cette situation, PHP fournit la fonction urlencode, qui permet d'encoder l'URL dans un format transportable. L'utilisation de la fonction urlencode est très simple. Sa syntaxe est la suivante : stringurlencode(string.

La fonction urldecode() en PHP est utilisée pour décoder les URL La fonction urldecode() en PHP est utilisée pour décoder les URL Nov 18, 2023 am 10:07 AM

La fonction urldecode() en PHP est utilisée pour décoder l'URL et restaurer les caractères échappés aux caractères d'origine. Lors du traitement des paramètres dans l'URL, vous devez souvent utiliser la fonction urldecode(). La syntaxe de la fonction urldecode() est la suivante : stringurldecode(string$str) où $str est la chaîne URL à décoder. La fonction urldecode() remplacera %xx dans la chaîne par les caractères correspondants, xx

Introduction aux fonctions PHP — urlencode() : encoder les URL Introduction aux fonctions PHP — urlencode() : encoder les URL Jul 25, 2023 pm 09:25 PM

Introduction aux fonctions PHP — urlencode() : Encodage d'URL Lors du développement d'applications Web, vous rencontrez souvent des situations où les URL doivent être encodées. Le codage des URL garantit que les caractères spéciaux dans les URL sont correctement transmis, évitant ainsi les problèmes ou les résultats incorrects. En PHP, nous pouvons utiliser la fonction urlencode() pour effectuer l'encodage d'URL. La fonction de la fonction urlencode() est de convertir la chaîne dans un format de codage conforme à la spécification de l'URL. Il convertit les caractères non alphanumériques d'une chaîne en

Comment utiliser la fonction urlencode Comment utiliser la fonction urlencode Nov 15, 2023 am 11:45 AM

Utilisation : 1. Utilisé pour encoder le dictionnaire ; 2. Utilisé pour encoder la liste ; 3. Utilisé pour encoder la liste imbriquée ; 4. Spécifier le séparateur, etc.

Comment utiliser la fonction urllib.urlencode() pour encoder des paramètres en Python 2.x Comment utiliser la fonction urllib.urlencode() pour encoder des paramètres en Python 2.x Jul 29, 2023 pm 12:57 PM

Comment utiliser la fonction urllib.urlencode() pour encoder des paramètres dans Python2.x Pendant le processus de programmation, nous devons souvent interagir avec le serveur et transmettre des paramètres. Lors du processus de transmission des paramètres, nous devons coder correctement les paramètres pour garantir la transmission et l'analyse correctes des données. Python fournit la bibliothèque urllib, dans laquelle la fonction urlencode() est un outil utilisé pour encoder les paramètres. Jetons un coup d'oeil à Python2.x

Comment utiliser la fonction urlencode pour encoder des caractères spéciaux en PHP Comment utiliser la fonction urlencode pour encoder des caractères spéciaux en PHP Jun 26, 2023 pm 04:09 PM

En PHP, nous avons souvent besoin d'encoder des caractères spéciaux dans l'URL afin de transmettre correctement les paramètres. À ce stade, vous pouvez utiliser la fonction urlencode. La fonction de la fonction urlencode est d'encoder les caractères spéciaux dans la chaîne afin qu'ils puissent être transmis dans l'URL. Ces caractères spéciaux comprennent : les caractères alphanumériques, les signes de ponctuation, les caractères protocolaires, certains caractères réservés, etc. Voici la syntaxe de base de la fonction urlencode : urlencode(string$str):str

See all articles