基于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 相关文章推荐
JQuery 1.4 中的Ajax问题
Jan 23 Javascript
关于javascript event flow 的一个bug详解
Sep 17 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
Aug 04 Javascript
JS控制网页动态生成任意行列数表格的方法
Mar 09 Javascript
Javascript递归打印Document层次关系实例分析
May 15 Javascript
jQuery实现带滑动条的菜单效果代码
Aug 26 Javascript
网页挂马方式整理及详细介绍
Nov 03 Javascript
react native 获取地理位置的方法示例
Aug 28 Javascript
JS html事件冒泡和事件捕获操作示例
May 01 Javascript
js实现三角形粒子运动
Sep 22 Javascript
js实现详情页放大镜效果
Oct 28 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
Nov 16 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
PHP生成带有雪花背景的验证码
2008/09/28 PHP
PHP set_time_limit(0)长连接的实现分析
2010/03/02 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
php自动加载方式集合
2016/04/04 PHP
PHP实现通过二维数组键值获取一维键名操作示例
2019/10/11 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
用JavaScript实现UrlEncode和UrlDecode的脚本代码
2008/07/23 Javascript
关于图片按比例自适应缩放的js代码
2011/10/30 Javascript
jquery中使用ajax获取远程页面信息
2011/11/13 Javascript
js实现的复制兼容chrome和IE
2014/04/03 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
移动手机APP手指滑动切换图片特效附源码下载
2015/11/30 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
javascript操作cookie
2017/01/17 Javascript
原生JS轮播图插件
2017/02/09 Javascript
微信小程序 扎金花简单实例
2017/02/21 Javascript
微信小程序动态的加载数据实例代码
2017/04/14 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
2019/02/17 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
Python实现批量转换文件编码的方法
2015/07/28 Python
利用matplotlib+numpy绘制多种绘图的方法实例
2017/05/03 Python
Python玩转Excel的读写改实例
2019/02/22 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
Columbia美国官网:美国著名的户外服装品牌
2016/11/24 全球购物
塔吉特百货公司官网:Target
2017/04/27 全球购物
澳大利亚优惠网站:Deals.com.au
2019/07/02 全球购物
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
2013/03/19 面试题
自我评价正确写法范文
2013/12/10 职场文书
历史专业学生的自我评价
2014/02/28 职场文书
服务理念标语
2014/06/18 职场文书
社保委托书怎么写
2014/08/02 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
质量负责人岗位职责
2015/02/15 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS