JS和PHP中URL编码转换:escape()、encodeURI()、encodeURIComponent()
escape() 方法:
该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
encodeURI() 方法:
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#
encodeURIComponent() 方法:
该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。
encodeURIComponent() 函数 与 encodeURI() 函数的区别之处:
前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串),因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。
总结:
通过对三个函数的分析,我们可以知道:escape()除了 ASCII 字母、数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法。
而encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换。encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的,它可以讲参数中的中文、特殊字符进行转义,而不会影响整个URL。
Here you can see how the various JavaScript and PHP functions apply to a range of common characters:
Input | JavaScript | PHP | ||||
escape | encodeURI | encodeURIComponent | urlencode | rawurlencode | htmlentities | |
---|---|---|---|---|---|---|
%20 | %20 | %20 | + | %20 | ||
! | %21 | ! | ! | %21 | %21 | ! |
@ | @ | @ | %40 | %40 | %40 | @ |
# | %23 | # | %23 | %23 | %23 | # |
$ | %24 | $ | %24 | %24 | %24 | $ |
% | %25 | %25 | %25 | %25 | %25 | % |
^ | %5E | %5E | %5E | %5E | %5E | ^ |
& | %26 | & | %26 | %26 | %26 | & |
* | * | * | * | %2A | %2A | * |
( | %28 | ( | ( | %28 | %28 | ( |
) | %29 | ) | ) | %29 | %29 | ) |
- | - | - | - | - | - | - |
_ | _ | _ | _ | _ | _ | _ |
= | %3D | = | %3D | %3D | %3D | = |
+ | + | + | %2B | %2B | %2B | + |
: | %3A | : | %3A | %3A | %3A | : |
; | %3B | ; | %3B | %3B | %3B; | ; |
. | . | . | . | . | . | . |
" | %22 | %22 | %22 | %22 | %22 | " |
' | %27 | ' | ' | %27 | %27 | ' |
\ | %5C | %5C | %5C | %5C | %5C | \ |
/ | / | / | %2F | %2F | %2F | / |
? | %3F | ? | %3F | %3F | %3F | ? |
%3C | %3C | %3C | %3C | %3C | < | |
> | %3E | %3E | %3E | %3E | %3E | > |
~ | %7E | ~ | ~ | %7E | %7E | ~ |
[ | %5B | %5B | %5B | %5B | %5B | [ |
] | %5D | %5D | %5D | %5D | %5D | ] |
{ | %7B | %7B | %7B | %7B | %7B | { |
} | %7D | %7D | %7D | %7D | %7D | } |
%60 | %60 | %60 | %60 | %60 |

作为前端开发者,对于PHP的了解是非常有必要的。虽然PHP是一种后端开发语言,但是掌握一定的PHP知识可以帮助前端开发者更好地理解整个web开发的过程,提高工作效率并与后端开发者更好地协作。在这篇文章中,我们将讨论前端开发者需要了解的一些PHP相关知识,并提供具体的代码示例。PHP是什么?PHP(HypertextPreprocessor)是一种服务器

PHP是一门热门的前端编程语言,它功能强大、易学易用,被广泛用于网站的开发和维护中。对于初学者来说,PHP入门需要一定的学习和掌握,下面就为大家提供一些PHP中的新手入门指南。一、学习基本概念在学习PHP之前,你需要了解一些基本概念。PHP是一种向Web服务器发出指令的脚本语言。简单来说,你可以使用PHP来生成HTML代码并将其发送给浏览器,最终呈现在网页上

PHP作为一种广泛应用于Web开发的脚本语言,已经成为许多互联网公司招聘技术人才时的必备技能之一。然而,对于一些刚入门或者基础薄弱的学习者来说,学习PHP可能会遇到一些困难。在面对PHP笔试时,怎样才能更好地提升自己的基础功力呢?接下来,我们将介绍一些学习方法,希望能够帮助大家提升PHP的基础知识和技能。1.养成阅读PHP官方文档的习惯PHP官方文档是学习

在学习PHP的过程中,初学者会经常遇到各种各样的错误。虽然这是学习的自然过程,但不少初学者往往因为对错误的处理不当而丧失耐心。本文将介绍PHP基础错误及解决方法,旨在帮助初学者更轻松地入门PHP。一、语法错误1.1遗漏分号在PHP中,语句必须以分号结尾。如果不小心遗漏了分号,就会报错。例如,下面的代码会导致错误:<?phpecho"He

数组函数是PHP中最常用的函数之一,它可以用于数组的创建、操作和管理。在开发应用程序时,使用数组函数可以大大提高开发的效率。本文将介绍PHP中数组函数的一些基本用法和例子,帮助大家更好地理解和掌握数组函数。一、数组的创建和初始化PHP中的数组可以通过以下方式创建://通过array()函数创建数组$arr=array("a",&q

PHP值概览:了解PHP的重要概念,需要具体代码示例PHP(HypertextPreprocessor)是一种广泛应用于Web开发的脚本语言,它可以嵌入HTML中,也可以作为独立的脚本来执行。在Web开发中,了解PHP的一些重要概念对于编写高效、可维护的代码非常重要。在本文中,我们将介绍PHP的一些重要概念,并提供具体的代码示例来帮助读者更好地理解。变量变

PHP是一种非常流行的开源服务器端脚本语言,广泛应用于Web开发中。要成为一名优秀的PHP程序员,阅读官方文档是必不可少的。无论你是初学者还是资深开发者,下面这些技巧都将有助于你更有效地阅读PHP文档。了解文档结构PHP官方文档分为多个部分,包括手册、参考手册、FAQ、扩展库文档等。在开始阅读之前,先了解文档的结构,找到自己需要的部分。使用搜索功能PHP文档

在当今信息爆炸的互联网时代,网站已经成为各行各业展示和推广的重要途径,而PHP作为最为流行的服务器端脚本语言,无疑是众多网站开发者必备的技能之一。要想达到熟练掌握PHP,首先需要掌握几个关键的知识点,并通过具体的代码示例来加深理解。1.PHP基础语法PHP的基础语法与大多数编程语言相似,包括变量、数据类型、运算符、条件语句、循环语句等。以下是一个简单的示例


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

WebStorm Mac version
Useful JavaScript development tools

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver Mac version
Visual web development tools

Notepad++7.3.1
Easy-to-use and free code editor
