基于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与flash交互通信基础教程
Aug 07 Javascript
基于Jquery的淡入淡出的特效基础练习
Dec 13 Javascript
js中函数调用的两种常用方法使用介绍
Jul 17 Javascript
基于javascript代码实现通过点击图片显示原图片
Nov 29 Javascript
深入浅析JavaScript面向对象和原型函数
Feb 06 Javascript
Angularjs手动解析表达式($parse)
Oct 12 Javascript
利用JS实现页面删除并重新排序功能
Dec 09 Javascript
整理关于Bootstrap表单的慕课笔记
Mar 29 Javascript
Vue学习之路之登录注册实例代码
Jul 06 Javascript
JavaScript根据json生成html表格的示例代码
Oct 24 Javascript
详解JavaScript的数据类型以及数据类型的转换
Apr 20 Javascript
Net微信网页开发 使用微信JS-SDK获取当前地理位置过程详解
Aug 26 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和ACCESS写聊天室(十)
2006/10/09 PHP
php中stream(流)的用法
2014/03/25 PHP
php使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
PHP实现无限极分类图文教程
2014/11/25 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
thinkphp项目如何自定义微信分享描述内容
2017/02/20 PHP
PDO::lastInsertId讲解
2019/01/29 PHP
jQuery在vs2008及js文件中的无智能提示的解决方法
2010/12/30 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
JS动态改变浏览器标题的方法
2016/04/06 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
Node.js安装配置图文教程
2017/05/10 Javascript
VueRouter导航守卫用法详解
2017/12/25 Javascript
微信小程序中如何使用flyio封装网络请求
2019/07/03 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
跟老齐学Python之Python安装
2014/09/12 Python
python引用DLL文件的方法
2015/05/11 Python
Python变量作用范围实例分析
2015/07/07 Python
python机器学习之神经网络(三)
2017/12/20 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
Python从使用线程到使用async/await的深入讲解
2018/09/16 Python
python mysql中in参数化说明
2020/06/05 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
详解HTML5 data-* 自定义属性
2018/01/24 HTML / CSS
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
对教师的评语
2014/04/28 职场文书
2014年教师党员公开承诺书
2014/05/28 职场文书
小学家长学校培训材料
2014/08/24 职场文书
党员四风剖析材料
2014/08/27 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
自考生自我评价
2019/06/21 职场文书
微信小程序中使用vant框架的具体步骤
2022/02/18 Javascript