基于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 相关文章推荐
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
Dec 02 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
Jan 31 Javascript
jQuery.each()用法分享
Jul 31 Javascript
node.js超时timeout详解
Nov 26 Javascript
JS动态增删表格行的方法
Mar 03 Javascript
浅谈js的异步执行
Oct 18 Javascript
VUE前端cookie简单操作
Oct 17 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
Jan 03 Javascript
Vuex 进阶之模块化组织详解
Jan 12 Javascript
详解JavaScript中操作符和表达式
Sep 12 Javascript
详解js访问对象的属性和方法
Oct 25 Javascript
vue实现图片预览组件封装与使用
Jul 13 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
文章推荐系统(三)
2006/10/09 PHP
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
PHP 多进程 解决难题
2009/06/22 PHP
php生成唯一数字id的方法汇总
2015/11/18 PHP
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
2016/01/07 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
js验证是否为数字的总结
2013/04/14 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
简述JS控制台的使用
2018/07/15 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
python使用心得之获得github代码库列表
2014/06/25 Python
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
在ironpython中利用装饰器执行SQL操作的例子
2015/05/02 Python
python中enumerate函数用法实例分析
2015/05/20 Python
Python使用openpyxl读写excel文件的方法
2017/06/30 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
详解python之heapq模块及排序操作
2019/04/04 Python
在TensorFlow中屏蔽warning的方式
2020/02/04 Python
Python使用plt.boxplot() 参数绘制箱线图
2020/06/04 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
2020/07/03 Python
IE浏览器单独写CSS样式的几种方法
2014/10/14 HTML / CSS
让IE支持HTML5的方法
2012/12/11 HTML / CSS
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
Groupon法国官方网站:特卖和网上购物高达-70%
2019/09/02 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
高中生学习生活的自我评价
2013/11/27 职场文书
党员2014两会学习心得体会
2014/03/17 职场文书
英语系毕业生求职信
2014/07/13 职场文书
企业整改报告范文
2014/11/08 职场文书
《兰兰过桥》教学反思
2016/02/20 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
Mysql开启外网访问
2022/05/15 MySQL