웹 프론트엔드 JS 튜토리얼 JavaScript를 사용하여 PHP의 urlencode 및 urldecode 함수 구현_javascript 기술

JavaScript를 사용하여 PHP의 urlencode 및 urldecode 함수 구현_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;
}
로그인 후 복사

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;
}
로그인 후 복사

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

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP의 urldecode() 함수: URL로 인코딩된 문자열을 원시 문자열로 디코딩하고 디코딩 오류를 처리하는 방법 PHP의 urldecode() 함수: URL로 인코딩된 문자열을 원시 문자열로 디코딩하고 디코딩 오류를 처리하는 방법 Nov 03, 2023 pm 03:17 PM

PHP의 urldecode() 함수는 PHP4에서 만들어졌으며 일반적인 URL 디코딩 방법입니다. URL 인코딩은 URL을 서버로 전송하거나 URL을 처리하기 위해 URL에 포함된 영어가 아닌 문자를 특수 문자로 변환하는 방법입니다. urldecode() 함수는 이러한 특수 문자를 원래 문자열로 복원합니다. 이 함수의 구문은 다음과 같습니다. stringurldecode(string$str) 매개변수 str은 디코딩해야 하는 문자를 나타냅니다.

PHP의 urlencode() 함수: 문자열을 URL 안전 형식으로 인코딩하는 방법 PHP의 urlencode() 함수: 문자열을 URL 안전 형식으로 인코딩하는 방법 Nov 03, 2023 pm 12:39 PM

PHP의 urlencode() 함수: 문자열을 URL 안전 형식으로 인코딩하는 방법, 구체적인 코드 예제가 필요합니다. 인터넷이 발달하면서 URL은 일상 생활에서 널리 사용되며 일부 특수 문자가 포함된 문자열을 인코딩해야 하는 경우가 많습니다. URL 안전 형식. URL에 매개변수를 전달하거나 웹페이지를 요청하는 형식입니다. PHP는 이 작업을 수행하기 위해 urlencode() 함수를 제공합니다. 이 기사에서는 urlencode() 함수의 사용법을 소개하고 몇 가지 구체적인 코드 예제를 제공합니다. 1. 당신

urlencode 함수를 사용하여 PHP에서 URL을 인코딩하는 방법 urlencode 함수를 사용하여 PHP에서 URL을 인코딩하는 방법 Jun 26, 2023 pm 12:48 PM

현대 개발에서는 URL을 통해 데이터를 전달하는 것이 일반적인 방법입니다. 그러나 URL에는 공백, 슬래시, 물음표 등의 일부 특수 문자가 포함될 수 있으므로 이러한 특수 문자는 URL의 구조를 파괴하고 데이터 전송에 실패하게 합니다. 이러한 상황을 방지하기 위해 PHP는 URL을 전송 가능한 형식으로 인코딩할 수 있는 urlencode 함수를 제공합니다. urlencode 함수의 사용은 매우 간단합니다: stringurlencode(string)

PHP의 urldecode() 함수는 URL을 디코딩하는 데 사용됩니다. PHP의 urldecode() 함수는 URL을 디코딩하는 데 사용됩니다. Nov 18, 2023 am 10:07 AM

PHP의 urldecode() 함수는 URL을 디코딩하고 이스케이프된 문자를 원래 문자로 복원하는 데 사용됩니다. URL의 매개변수를 처리할 때 urldecode() 함수를 사용해야 하는 경우가 많습니다. urldecode() 함수의 구문은 다음과 같습니다. stringurldecode(string$str) 여기서 $str은 디코딩할 URL 문자열입니다. urldecode() 함수는 문자열의 %xx를 해당 문자 xx로 대체합니다.

PHP 함수 소개—urlencode(): URL 인코딩 PHP 함수 소개—urlencode(): URL 인코딩 Jul 25, 2023 pm 09:25 PM

PHP 함수 소개 - urlencode(): URL 인코딩 웹 애플리케이션을 개발할 때 URL을 인코딩해야 하는 상황에 자주 직면하게 됩니다. URL 인코딩은 URL의 특수 문자가 올바르게 전달되도록 보장하여 문제나 잘못된 결과를 방지합니다. PHP에서는 urlencode() 함수를 사용하여 URL 인코딩을 수행할 수 있습니다. urlencode() 함수의 기능은 문자열을 URL 사양에 맞는 인코딩 형식으로 변환하는 것입니다. 문자열에서 영숫자가 아닌 문자를 다음으로 변환합니다.

Urlencode 기능을 사용하는 방법 Urlencode 기능을 사용하는 방법 Nov 15, 2023 am 11:45 AM

사용법: 1. 사전을 인코딩하는 데 사용됩니다. 2. 목록을 인코딩하는 데 사용됩니다. 3. 중첩된 목록을 인코딩하는 데 사용됩니다.

Python 2.x에서 urllib.urlencode() 함수를 사용하여 매개변수를 인코딩하는 방법 Python 2.x에서 urllib.urlencode() 함수를 사용하여 매개변수를 인코딩하는 방법 Jul 29, 2023 pm 12:57 PM

urllib.urlencode() 함수를 사용하여 Python2.x에서 매개변수를 인코딩하는 방법 프로그래밍 프로세스 중에 서버와 상호작용하고 매개변수를 전달해야 하는 경우가 많습니다. 매개변수를 전달하는 과정에서 데이터의 올바른 전송과 구문 분석을 보장하기 위해 매개변수를 올바르게 인코딩해야 합니다. Python은 urlencode() 함수가 매개변수를 인코딩하는 데 사용되는 도구인 urllib 라이브러리를 제공합니다. Python2.x를 살펴보겠습니다.

urlencode 함수를 사용하여 PHP에서 특수 문자를 인코딩하는 방법 urlencode 함수를 사용하여 PHP에서 특수 문자를 인코딩하는 방법 Jun 26, 2023 pm 04:09 PM

PHP에서는 매개변수를 올바르게 전달하기 위해 URL에 특수 문자를 인코딩해야 하는 경우가 많습니다. 이때 urlencode 기능을 사용할 수 있습니다. urlencode 함수의 기능은 URL에 전달될 수 있도록 문자열의 특수 문자를 인코딩하는 것입니다. 이러한 특수 문자에는 영숫자 문자, 구두점, 프로토콜 문자, 일부 예약 문자 등이 포함됩니다. 다음은 urlencode 함수의 기본 구문입니다: urlencode(string$str):str

See all articles