基于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+css 网页每次加载不同样式的实现方法
Dec 27 Javascript
Node.js node-schedule定时任务隔多少分钟执行一次的方法
Feb 10 Javascript
JavaScript中rem布局在react中的应用
Dec 09 Javascript
jQuery  ready方法实现原理详解
Oct 19 Javascript
js实现图片360度旋转
Jan 22 Javascript
在 Angular 中实现搜索关键字高亮示例
Mar 21 Javascript
JS实现移动端按首字母检索城市列表附源码下载
Jul 05 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
Nov 29 Javascript
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
Dec 15 Javascript
浅谈JavaScript中this的指向更改
Jul 28 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
Sep 22 Javascript
浅析vue中的nextTick
Dec 28 Vue.js
基于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 session 错误
2009/05/21 PHP
php 数组的指针操作实现代码
2011/02/08 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
2016/06/13 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
PHP+MySQL实现输入页码跳转到指定页面功能示例
2018/06/01 PHP
javascript cookies 设置、读取、删除实例代码
2010/04/12 Javascript
JS删除字符串中重复字符方法
2014/03/09 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
原创jQuery弹出层插件分享
2015/04/02 Javascript
JQuery中节点遍历方法实例
2015/05/18 Javascript
js HTML5 Canvas绘制转盘抽奖
2020/09/13 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
移动端脚本框架Hammer.js
2016/12/15 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
2017/11/03 Javascript
深入浅析Vue 中 ref 的使用
2019/04/29 Javascript
用webpack4开发小程序的实现方法
2019/06/04 Javascript
基于layui的下拉列表的数据回显方法
2019/09/24 Javascript
JS实现判断移动端PC端功能
2020/02/21 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
Python数据类型详解(二)列表
2016/05/08 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
2018/02/07 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
python sorted方法和列表使用解析
2019/11/18 Python
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
流行文化收藏品:Sideshow(DC漫画,星球大战,漫威)
2019/03/17 全球购物
linux面试题参考答案(4)
2013/01/28 面试题
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
教师个人剖析材料
2014/02/05 职场文书
安全教育演讲稿
2014/05/09 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书
教你使用TensorFlow2识别验证码
2021/06/11 Python