基于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实现字数统计
Jul 03 Javascript
浅谈javascript中执行环境(作用域)与作用域链
Dec 08 Javascript
Vue2.0实现购物车功能
Jun 05 Javascript
Angular.js自动化测试之protractor详解
Jul 07 Javascript
vue.js实现的经典计算器/科学计算器功能示例
Jul 11 Javascript
微信小程序form表单组件示例代码
Jul 15 Javascript
webpack开发环境和生产环境的深入理解
Nov 08 Javascript
微信小程序之数据绑定原理解析
Aug 14 Javascript
layui监听工具栏的实例(操作列表按钮)
Sep 10 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
Nov 29 Javascript
Vue列表循环从指定下标开始的多种解决方案
Apr 08 Javascript
原生JavaScript实现简单五子棋游戏
Jun 28 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
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
PHP EOT定界符的使用详解
2008/09/30 PHP
php简单的会话类代码
2011/08/08 PHP
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
WordPress中用于检索模版的相关PHP函数使用解析
2015/12/15 PHP
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
javascript对数组的常用操作代码 数组方法总汇
2011/01/27 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
javascript中Number对象的toString()方法分析
2014/12/20 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
简单实现js倒计时功能
2017/02/13 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
基于Vue实现可以拖拽的树形表格实例详解
2018/10/18 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
[37:23]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第二局
2016/03/04 DOTA
Python备份Mysql脚本
2008/08/11 Python
Python AES加密实例解析
2018/01/18 Python
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
详解Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
2020/08/04 Python
The Hut美国/加拿大:英国领先的豪华在线百货商店
2019/03/26 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
武汉瑞得软件笔试题
2015/10/27 面试题
高中的自我鉴定
2013/12/16 职场文书
文明班集体申报材料
2014/05/23 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
服务明星事迹材料
2014/12/29 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书
教师节祝酒词
2015/08/11 职场文书
反邪教教育心得体会
2016/01/15 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
如何用Node.js编写内存效率高的应用程序
2021/04/30 Javascript
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS
R9700摩机记
2022/04/05 无线电