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的基础语法与大多数编程语言相似,包括变量、数据类型、运算符、条件语句、循环语句等。以下是一个简单的示例


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版
视觉化网页开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Linux新版
SublimeText3 Linux最新版

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能