基于javascript如何传递特殊字符


Posted in Javascript onNovember 30, 2015

在没步入正轨之前,先给大家介绍JavaScript 特殊字符

你可以在 JavaScript 中使用反斜杠来向文本字符串添加特殊字符。

插入特殊字符

反斜杠用来在文本字符串中插入省略号、换行符、引号和其他特殊字符。

请看下面的 JavaScript 代码:

var txt="We are the so-called "Vikings" from the north."
document.write(txt)

在 JavaScript 中,字符串使用单引号或者双引号来起始或者结束。这意味着上面的字符串将被截为:We are the so-called。
要解决这个问题,就必须把在 "Viking" 中的引号前面加上反斜杠 (\)。这样就可以把每个双引号转换为字面上的字符串。

var txt="We are the so-called \"Vikings\" from the north."
document.write(txt)

现在 JavaScript 就可以输出正确的文本字符串了:We are the so-called "Vikings" from the north。

这是另一个例子:

document.write ("You \& me are singing!")

上面的例子会产生以下输出:

You & me are singing!

下面的表格列出了其余的特殊字符,这些特殊字符都可以使用反斜杠来添加到文本字符串中:

代码 输出
\' 单引号
\" 双引号
\& 和号
\\ 反斜杠
\n 换行符
\r 回车符
\t 制表符
\b 退格符
\f 换页符

背景:

今天在做一个任务时,用jquery的ajax传递一长串字符时,在后台地验证一直不成功,纠结时我了(那个字符串是随机生成地,特长).查了一上午,原来是我生成地字符串中有+号,而在js传递地时候,会理解为是连接字符用地,到了后台就将+号自动变为空格了,所以后台地字符串和前台生成地已经不一样了.

原因:

js后自动解析特殊字符,如+号为连接符,解析为空格,&为变量连接符,服务器端接受数据时&以后地数据不显示等等.

解决办法:

1、将字符放到form中,然后用js提交form表单到服务器.
2、将字符中地特殊字符替换成十六进制地字符,一些特殊字符与十六进制地对应关系:

+ 空格 / % & = #
%2b %20 %2f %3f %25 %26 &3d %23

str = str.replace(/\+/g,%2b); 将+号替换为十六进制

3、最简单地一种,使用encodeuricomponent()函数.

该方法不会对 ascii 字母和数字进行编码,也不会对这些 ascii 标点符号进行编码: - _ . ! ~ * ' ( ) .
其他字符(比如 :;/?:@&=+$,# 这些用于分隔 uri 组件地标点符号),都是由一个或多个十六进制地转义序列替换地.

jQuery ajax特殊字符参数

在做ajax登录时候遇到的一个问题,当传入参数含有特殊字符,比如:“$'#@”等。参数传递会有问题,无法正确获取。

$.ajax({
  url: '/user/login.ydd',
  type:'post',
  data:'name=abce&password=abcd&pwd',
  success: function(data){
  }
})

我要传入的是用户名为:abc,密码为abcd&pwd的用户登录。但传入后台获取参数,会被password=abcd当作一个参数传递,&这个特殊将pwd分开了作为另一个参数解析了。

解决方法,这时候就需要ajax另外一种传递参数的方式

$.ajax({
  url: '/user/login.ydd',
  type:'post',
  data:{'name':'abce','password':'abcd&pwd'},
  success: function(data){
 
  }
})
Javascript 相关文章推荐
javascript背投广告代码的完善
Apr 08 Javascript
jquery获取input的value问题说明
Aug 19 Javascript
jQuery Ajax请求状态管理器打包
May 03 Javascript
详解AngularJS中自定义指令的使用
Jun 17 Javascript
浅析jQuery Mobile的初始化事件
Dec 03 Javascript
jquery实现全选、不选、反选的两种方法
Sep 06 Javascript
微信小程序中子页面向父页面传值实例详解
Mar 20 Javascript
JavaScript定时器setTimeout()和setInterval()详解
Aug 18 Javascript
详解VueJS应用中管理用户权限
Feb 02 Javascript
详解小程序缓存插件(mrc)
Aug 17 Javascript
vue源码nextTick使用及原理解析
Aug 13 Javascript
axios封装与传参示例详解
Oct 18 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
Nov 30 #Javascript
全面解析Bootstrap排版使用方法(文字样式)
Nov 30 #Javascript
javascript中eval和with用法实例总结
Nov 30 #Javascript
JavaScript基础篇(3)之Object、Function等引用类型
Nov 30 #Javascript
全面解析Bootstrap排版使用方法(标题)
Nov 30 #Javascript
javascript作用域链(Scope Chain)用法实例解析
Nov 30 #Javascript
Bootstrap每天必学之js插件
Nov 30 #Javascript
You might like
MySQL授权问题总结
2007/05/06 PHP
通过5个php实例细致说明传值与传引用的区别
2012/08/08 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
PHP 输出URL的快捷方式示例代码
2013/09/22 PHP
PHP入门教程之图像处理技巧分析
2016/09/11 PHP
event.srcElement+表格应用
2006/08/29 Javascript
大家未必知道的Js技巧收藏
2008/04/07 Javascript
JavaScript Array Flatten 与递归使用介绍
2011/10/30 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
2014/01/06 Javascript
5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
2015/01/29 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
理解javascript中try...catch...finally
2015/12/25 Javascript
js实现微博发布小功能
2017/01/12 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
jQuery返回定位插件详解
2017/05/15 jQuery
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
Node.js利用console输出日志文件的方法示例
2018/04/27 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
浅析Python中的join()方法的使用
2015/05/19 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
2018/01/17 Python
python实现ID3决策树算法
2018/08/29 Python
代码详解django中数据库设置
2019/01/28 Python
利用python脚本如何简化jar操作命令
2019/02/24 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
2020/03/18 Python
Python编写单元测试代码实例
2020/09/10 Python
html+js 实现markdown编辑器效果
2019/10/23 HTML / CSS
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
美国知名保健品网站:LuckyVitamin(支持中文)
2017/08/09 全球购物
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
LVMH旗下最大的奢侈品网站平台:24S
2020/05/24 全球购物
银行个人求职自荐信范文
2013/12/16 职场文书
python 逐步回归算法
2021/04/06 Python
进行数据处理的6个 Python 代码块分享
2022/04/06 Python
使用Ajax实现进度条的绘制
2022/04/07 Javascript