`
jxdiamond
  • 浏览: 100167 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Javascript函数中传递带空格的参数

 
阅读更多
通常在页面中要让某些内容点击后产生点击事件(非页面跳转)都会使用onclick,但是这样不适于需要传递参数的情况,于是写成直接调用Javascript函数的方式:<a href=javascript:somefunction(args)>content</a>。注意,这么写是有问题的,问题就在于somefunction中的参数args的值不能含有空格,否则浏览器会认为空格后面的内容是<a>标签的某个属性,正确的写法应该是用引号将javascript:somefunction(args)引起来。另外还有一种方法可不必加这对引号,先将可能带空格的参数用escape函数处理一下,然后在somefunction中用unescape函数解码就行了。值得注意的是用encodeURI、decodeURI加解码却不能成功。

       在网上找了下escape和unescape、encodeURI和decodeURI、encodeURIComponent和decodeURIComponent三对组合之间的区别:

escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z

encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

       简单总结一下用法,在不经过URL的时候,即纯Javascript调用用escape;涉及URL时,通常用encodeURI对整个URL进行处理,仅当URL中含有特殊参数时,对该特殊参数局部使用encodeURIComponent。
分享到:
评论

相关推荐

    程序天下:JavaScript实例自学手册

    14.13 获取JavaScript函数中的所有参数 14.14 奇偶数的判断 14.15 在JavaScript运行VBScript函数 14.16 购物篮中常用的计算总价效果 14.17 同一用户的来访统计 14.18 十六进制转换为十进制 14.19 将URL转化为16进制 ...

    PrintEverything:有助于快速将任何原生对象转换为人类可读字符串的小型 Javascript 函数

    此外,可以在第二个参数中传递一个选项对象; 此对象可能包含以下值: indentLevel ( int , default 0 ):在最低级别设置打印输出的每一行的缩进数。 singleLine ( bool , default false ): 如果为true ,则整个...

    《程序天下:JavaScript实例自学手册》光盘源码

    14.13 获取JavaScript函数中的所有参数 14.14 奇偶数的判断 14.15 在JavaScript运行VBScript函数 14.16 购物篮中常用的计算总价效果 14.17 同一用户的来访统计 14.18 十六进制转换为十进制 14.19 将URL转化为16进制 ...

    node-php-escape-shell:基于php shell元字符的转义函数

    php_escapeshellarg() 在字符串周围添加单引号并引用/转义任何现有的单引号,允许您将字符串直接传递给 shell 函数并将其视为单个安全参数。 此函数应用于将来自用户输入的单个参数转义到 shell 函数。 在 Windows ...

    javascript URL编码和解码使用说明

    在有些传递页面使用GB2312,而在接收页面使用 UTF8,这样接收到的参数就可能会与原来发生不一致。使用服务器端的urlEncode函数编码的URL,与使用客户端javascript的 encodeURI函数编码的URL,结果就不一样。 ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例102 解析URL地址中传递的编码参数 134 实例103 转义帖子中的特殊字符 135 实例104 获取任意字符的ASCII码 136 实例105 查找指定ASCII码对应的字符 136 实例106 合理定义上传文件的名称 137 实例107 通过异或方式...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例102 解析URL地址中传递的编码参数 134 实例103 转义帖子中的特殊字符 135 实例104 获取任意字符的ASCII码 136 实例105 查找指定ASCII码对应的字符 136 实例106 合理定义上传文件的名称 137 实例107 通过异或方式...

    正则表达式

    JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法. 在JavaScript中,正则表达式是由一个RegExp对象表示的.当然,可以使用一个RegExp()构造函数来创建RegExp...

    sentence-operation-lab

    让函数LongestWord()接受传递给new Operation(str)的 str 参数并返回字符串中最大的单词。 如果有两个或多个长度相同的单词,则返回具有该长度的字符串中的第一个单词。 忽略标点符号并假设 str 不会为空。如何运行...

    ASP.NET编程之道.part1.rar

    谬误12 方法中只有引用类型的参数才能实现引用传递 谬误13 字符串是值类型 谬误14 数据绑定表达式中Eval功能等价于Bind 谬误15 .Net中的数组类型和C++的数组没有区别 谬误16 泛型不被指定的情况下是不确定的类型 ...

    detect-case:检测输入字符串的大小写(大写字母,小写字母,蛇形字母等)

    为了确保正确的结果,请不要传递带有空格的字符串。 const detect = require ( 'detect-case' ) ; console . log ( detect ( 'foo' ) ) ; // lowercase console . log ( detect ( 'FOO' ) ) ; // uppercase ...

    PHP和MySQL WEB开发(第4版)

    5.8 参数的引用传递和值传递 5.9 使用Return关键字 5.9.1 从函数返回一个值 5.10 实现递归 5.10.1 名称空间 5.11 进一步学习 5.12 下一章 第6章 面向对象的PHP 6.1 理解面向对象的概念 6.1.1 类和对象 6.1.2 多态...

    PHP开发实战1200例源码

    实例102 解析URL地址中传递的编码参数 134 实例103 转义帖子中的特殊字符 135 实例104 获取任意字符的ASCII码 136 实例105 查找指定ASCII码对应的字符 136 实例106 合理定义上传文件的名称 137 实例107 通过异或方式...

    PHP和MySQL Web开发第4版pdf以及源码

    5.8 参数的引用传递和值传递 5.9 使用Return关键字 5.9.1 从函数返回一个值 5.10 实现递归 5.10.1 名称空间 5.11 进一步学习 5.12 下一章 第6章 面向对象的PHP 6.1 理解面向对象的概念 6.1.1 类和对象 ...

    PHP和MySQL Web开发第4版

    5.8 参数的引用传递和值传递 5.9 使用Return关键字 5.9.1 从函数返回一个值 5.10 实现递归 5.10.1 名称空间 5.11 进一步学习 5.12 下一章 第6章 面向对象的PHP 6.1 理解面向对象的概念 6.1.1 类和对象 ...

    tinymde:使用纯JavaScript的:books:简单Markdown编辑器

    TinyMDE TinyMDE是一个简单的markdown编辑器,占用空间很小。 它具有最小的依赖关系... false 配置对象应传递给构造函数: const tinymde = new TinyMDE ( { showToolbar : false} ) ;API:setContent(内容:字符串)

    jQuery中bind,live,delegate与one方法的用法及区别解析

    其中,参数eventType是一个字符串,包含一个或多个javaScript事件类型,例如click,submit或自定义事件的名称,指定多个事件类型时用空格分隔各个类型;eventData为Map类型,给出要传递给事件处理程序的数据,...

    unicode格式的字符串进行URL编码-易语言

    今天写一个POST程序的时候有一段...然后把base64文本传递到js脚本里面的一个函数内 js函数把base64编码还原成unicode的数据 然后直接调用URL编码函数对数据进行编码返回 就得到易语言支持的url编码unicode字节集的结果

    Zork:使用jQuery的基于Web的Zork克隆....只是为了好玩

    它还调用parseCommand函数,将用户输入传递给该函数。 该函数开始充当字典,将同义命令放在一起并调用适当的函数来处理它们。 我现在不一定喜欢我的处理方式,因为它将需要对许多复杂的命令进行硬编码。 理想情况下...

    PHP程序开发范例宝典III

    实例227 使用聚集函数First或Last求数据表中第一条或最后一条记录 352 8.10 多表查询 354 实例228 使用select语句进行多表查询 354 实例229 使用表的别名 355 实例230 合并多个结果集 356 8.11 嵌套查询...

Global site tag (gtag.js) - Google Analytics