微信小程序中转义字符的处理方法


Posted in Javascript onMarch 28, 2019

在微信小程序开发过程中,有时候会用到常用的一些特殊字符如:‘<'、‘>'、‘&'、‘空格'等,微信小程序同样支持对转义字符的处理,下面提供两种方法用来处理微信小程序中转义字符的处理。

1.官方API调用

这种方式,我们直接在wxml布局文件中,直接调用相关特殊符号的转义字符会无效,原因是小程序的text文本控件的decode属性没有打开导致的,看下文档说明:

微信小程序中转义字符的处理方法 

从文档中,我们可以发现,decode属性默认为false,不会解析我们的特殊字符,我们通过设置decode属性为true,并且调用其转义字符即可实现该特殊字符的显示。

<text class='dialog-close' decode='true'>< 返回</text>

通过上述代码即可实现 < 返回 的效果。

其中:

微信小程序中转义字符的处理方法

微信小程序中转义字符的处理方法

2.通过JS文件来实现

除了上面的实现方法,针对一些特殊字符我们还可以通过wxml与JS文件相结合的方式来实现。

首先,在wxml文件中对text文本控件做如下设置:

<text class='dialog-close'>{{dialogback}}</text>

然后,我们在JS文件的data中设置其文本内容:

data: {
 dialogback:"< 返回",
 //... 其他配置
 }

通过这种方式也可以实现 < 返回 的效果。

示例

因为我是在<image>标签中访问,所以小程序中没有便捷方法可以转义,写了一个死方法——replace.js,如下:

//替换URL中特殊字符
function replaceSpecialChar(url) {
 url = url.replace(/"/g, '"');
 url = url.replace(/&/g, '&');
 url = url.replace(/</g, '<');
 url = url.replace(/>/g, '>');
 url = url.replace(/ /g, ' ');
 console.log("转义字符", url);
 return url;
}
module.exports = {
 replaceSpecialChar: replaceSpecialChar
}

需要用到的时候,在页面对应的js里面调用该方法:

var replace = require("../../utils/replace.js");
Page({
 ..............
 url = replace.replaceSpecialChar(res.data.url)
})

至此,微信小程序中关于转义字符的处理就基本实现了,如有问题,欢迎留言。也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
关于Javascript 的 prototype问题。
Jan 03 Javascript
jquery实现按Enter键触发事件示例
Sep 10 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
Dec 16 Javascript
js取float型小数点后两位数的方法
Jan 18 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
May 04 Javascript
用JS实现轮播图效果(二)
Jun 26 Javascript
详解webpack 如何集成第三方js库
Jun 29 Javascript
JavaScript中使用参数个数实现重载功能
Sep 01 Javascript
vue-cli开发环境实现跨域请求的方法
Apr 07 Javascript
vue.js input框之间赋值方法
Aug 24 Javascript
JS基于对象的链表实现与使用方法示例
Jan 31 Javascript
bootstrap table.js动态填充单元格数据的多种方法
Jul 18 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
Mar 28 #Javascript
详解Js里的for…in和for…of的用法
Mar 28 #Javascript
ES7之Async/await的使用详解
Mar 28 #Javascript
详解vue-cli3多环境打包配置
Mar 28 #Javascript
微信小程序之onLaunch与onload异步问题详解
Mar 28 #Javascript
详解vue使用插槽分发内容slot的用法
Mar 28 #Javascript
详解一个基于套接字实现长连接的express
Mar 28 #Javascript
You might like
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
2016/12/15 PHP
javascript 模式设计之工厂模式详细说明
2010/05/10 Javascript
dotopAlert 提示用户需安装播放器的代码
2012/09/17 Javascript
Jquery性能优化详解
2014/05/15 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
JavaScript中关联原型链属性特性
2016/02/13 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
2016/07/22 Javascript
js注入 黑客之路必备!
2016/09/14 Javascript
基于bootstrap的文件上传控件bootstrap fileinput
2016/12/23 Javascript
浅析vue数据绑定
2017/01/17 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
2017/04/17 jQuery
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
react+redux的升级版todoList的实现
2017/12/18 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
2018/06/04 Javascript
Angular事件之不同组件间传递数据的方法
2018/11/15 Javascript
微信小程序吸底区域适配iPhoneX的实现
2020/04/09 Javascript
react组件基本用法示例小结
2020/04/27 Javascript
关于vue 结合原生js 解决echarts resize问题
2020/07/26 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
JavaScript实现点击出现子菜单效果
2021/02/08 Javascript
Python重新引入被覆盖的自带function
2014/07/16 Python
利用matplotlib+numpy绘制多种绘图的方法实例
2017/05/03 Python
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
Python 绘图库 Matplotlib 入门教程
2018/04/19 Python
python 循环读取txt文档 并转换成csv的方法
2018/10/26 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
python安装scipy的方法步骤
2019/06/26 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
Django model class Meta原理解析
2020/11/14 Python
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
在家更换处方镜片:Lensabl
2019/05/01 全球购物
毕业生学校推荐信范文
2014/05/21 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技