基于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.3.2以上版本中出现pareseerror错误的解决方法
Jan 11 Javascript
JavaScript DOM操作表格及样式
Apr 13 Javascript
JQuery CheckBox(复选框)操作方法汇总
Apr 15 Javascript
举例详解JavaScript中Promise的使用
Jun 24 Javascript
深入浅析JavaScript的API设计原则
Jun 14 Javascript
JS制作图形验证码实现代码
Oct 19 Javascript
HTML的select控件美化
Mar 27 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
Dec 01 Javascript
使用puppeteer破解极验的滑动验证码
Feb 24 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 jQuery
vue-cli安装使用流程步骤详解
Nov 08 Javascript
JavaScript 原型与原型链详情
Nov 02 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
用Socket发送电子邮件(利用需要验证的SMTP服务器)
2006/10/09 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
2020/03/20 PHP
php微信公众号开发之快递查询
2018/10/20 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
javascript学习网址备忘
2007/05/29 Javascript
超轻量级的基于jquery的三级展开列表
2011/04/26 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
js截取字符串的两种方法及区别详解
2013/11/05 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
使用js实现数据格式化
2014/12/03 Javascript
jQuery简单实现两级下拉菜单效果代码
2015/09/15 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
2016/06/24 Javascript
JS常见算法详解
2017/02/28 Javascript
Web前端框架Angular4.0.0 正式版发布
2017/03/28 Javascript
微信小程序 sha1 实现密码加密实例详解
2017/07/06 Javascript
Vue实现virtual-dom的原理简析
2017/07/10 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
JS实现简单日历特效
2020/01/03 Javascript
微信小程序点击滚动到指定位置的实现
2020/05/22 Javascript
使用 Opentype.js 生成字体子集的实例代码详解
2020/05/25 Javascript
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
详解python3百度指数抓取实例
2016/12/12 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
解决pyecharts在jupyter notebook中使用报错问题
2020/04/23 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
python 负数取模运算实例
2020/06/03 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
软件测试英文面试题
2012/10/14 面试题
个人简历中的自我评价范例
2013/10/29 职场文书
小班秋游活动方案
2014/02/22 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书
《吃水不忘挖井人》教学反思
2016/02/22 职场文书