基于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 相关文章推荐
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
Apr 01 Javascript
jQuery选择器中含有空格的使用示例及注意事项
Aug 25 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
Nov 24 Javascript
简单纯js实现点击切换TAB标签实例
Aug 23 Javascript
Angular2从搭建环境到开发步骤详解
Oct 17 Javascript
canvas实现探照灯效果
Feb 07 Javascript
简单实现js倒计时功能
Feb 13 Javascript
jquery实现全选、全不选以及单选功能
Mar 23 jQuery
浏览器调试动态js脚本的方法(图解)
Jan 19 Javascript
浅谈React + Webpack 构建打包优化
Jan 23 Javascript
vue router动态路由设置参数可选问题
Aug 21 Javascript
微信小程序中的列表切换功能实例代码详解
Jun 09 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
Linux下 php5 MySQL5 Apache2 phpMyAdmin ZendOptimizer安装与配置[图文]
2008/11/18 PHP
PHP中使用sleep函数实现定时任务实例分享
2014/08/21 PHP
PHP批量去除BOM头代码分享
2015/06/26 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
javascript函数式编程程序员的工具集
2015/10/11 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
微信小程序之绑定点击事件实例详解
2017/07/07 Javascript
angular4中关于表单的校验示例
2017/10/16 Javascript
JavaScript基础心法 深浅拷贝(浅拷贝和深拷贝)
2018/03/05 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
在Python中使用第三方模块的教程
2015/04/27 Python
python生成随机密码或随机字符串的方法
2015/07/03 Python
解决Spyder中图片显示太小的问题
2018/04/27 Python
详解Python如何生成词云的方法
2018/06/01 Python
python自定义线程池控制线程数量的示例
2019/02/22 Python
浅谈Python爬虫基本套路
2019/03/25 Python
公认8个效率最高的爬虫框架
2020/07/28 Python
Python面向对象实现方法总结
2020/08/12 Python
css3 边框、背景、文本效果的实现代码
2018/03/21 HTML / CSS
印尼购物网站:iLOTTE
2019/10/16 全球购物
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
管理站站长岗位职责
2013/11/27 职场文书
公司庆典活动邀请函
2014/01/09 职场文书
七年级英语教学反思
2014/01/15 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
文艺晚会主持词
2014/03/24 职场文书
2014年销售助理工作总结
2014/12/01 职场文书
企业培训简报范文
2015/07/20 职场文书
灵能百分百第三季什么时候来?
2022/03/15 日漫