基于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 类定义的4种方法
Sep 12 Javascript
Google的跟踪代码 动态加载js代码方法应用
Nov 12 Javascript
jquery scroll()区分横向纵向滚动条的方法
Apr 04 Javascript
Jquery跳到页面指定位置的方法
May 12 Javascript
深入理解JavaScript中的箭头函数
Jul 28 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
Nov 15 Javascript
js 事件的传播机制(实例讲解)
Jul 20 Javascript
Mongoose中document与object的区别示例详解
Sep 18 Javascript
js处理包含中文的字符串实例
Oct 11 Javascript
React生命周期原理与用法踩坑笔记
Apr 28 Javascript
我所理解的JavaScript中的this指向
Sep 04 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
Oct 31 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无限分类的类
2007/01/02 PHP
php调用C代码的实现方法
2014/03/11 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
2016/06/13 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
利用js实现选项卡的特别效果的实例
2013/03/03 Javascript
JS使用getComputedStyle()方法获取CSS属性值
2014/04/23 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
Jquery实现textarea根据文本内容自适应高度
2015/04/03 Javascript
JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
2016/06/02 Javascript
JS for...in 遍历语句用法实例分析
2016/08/24 Javascript
jQuery实现的右下角广告窗体跟随效果示例
2016/09/16 Javascript
JavaScript仿网易选项卡制作代码
2016/10/06 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
2017/02/16 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
JS实现手写parseInt的方法示例
2017/09/24 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
2019/11/14 Javascript
微信小程序实现列表滚动头部吸顶的示例代码
2020/07/12 Javascript
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
压缩包密码破解示例分享(类似典破解)
2014/01/17 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
Python音频操作工具PyAudio上手教程详解
2019/06/26 Python
Python实现多线程/多进程的TCP服务器
2019/09/03 Python
pytorch 实现模型不同层设置不同的学习率方式
2020/01/06 Python
详解HTML5中的元素与元素
2015/08/17 HTML / CSS
初中生自我鉴定
2014/02/04 职场文书
房地产广告词大全
2014/03/19 职场文书
校长寄语大全
2014/04/09 职场文书
小学优秀教师材料
2014/12/15 职场文书
送给自己的励志语句:要安静的优秀,悄无声息的坚强
2019/11/26 职场文书
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python