基于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 相关文章推荐
游戏人文件夹程序 ver 3.0
Jul 14 Javascript
prettify 代码高亮着色器google出品
Dec 28 Javascript
jQuery中filter()和find()的区别深入了解
Sep 25 Javascript
jquery自定义下拉列表示例
Apr 25 Javascript
详解JavaScript基于面向对象之创建对象(1)
Dec 10 Javascript
JavaScript实现解析INI文件内容的方法
Nov 17 Javascript
深入理解javascript的getTime()方法
Feb 16 Javascript
如何优雅地在Node应用中进行错误异常处理
Nov 25 Javascript
js实现带搜索功能的下拉框
Jan 11 Javascript
javascript用defineProperty实现简单的双向绑定方法
Apr 03 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
Aug 10 Javascript
解决vant的Toast组件时提示not defined的问题
Nov 11 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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
PHP 图片上传代码
2011/09/13 PHP
ThinkPHP中U方法的使用浅析
2014/06/13 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
javascript 关于# 和 void的区别分析
2009/10/26 Javascript
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
JavaScript判断表单中多选框checkbox选中个数的方法
2015/08/17 Javascript
jquery实现叠层3D文字特效代码分享
2015/08/21 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
微信小程序实现传递多个参数与事件处理
2019/08/12 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
Python程序语言快速上手教程
2012/07/18 Python
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
详解Python中DOM方法的动态性
2015/04/11 Python
Python 数据结构之堆栈实例代码
2017/01/22 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
Omio波兰:全欧洲低价大巴、火车和航班搜索和比价
2018/02/16 全球购物
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
银行柜员应聘推荐信范文
2013/11/24 职场文书
教育专业自荐书范文
2013/12/17 职场文书
生物学学生自我评价
2014/01/17 职场文书
委托书样本
2014/04/02 职场文书
电子商务助理求职自荐信
2014/04/10 职场文书
运动会铅球比赛加油稿
2014/09/26 职场文书
幼儿园老师新年寄语2015
2014/12/08 职场文书
小班上学期幼儿评语
2014/12/30 职场文书
行政人事专员岗位职责
2015/04/07 职场文书
教学督导岗位职责
2015/04/10 职场文书