在js中,我们需要将手机号带星号显示是很容易的事情,只需要调用字符串截断与拼接就可以了;但是,在wxml中,我们如何处理呢?
微信小程序开发框架中有一个wxs,就是为了解决类似问题的,只需要在wmxl中引入wxs,就可以调用该类的方法,这一点和网页开发html中通过script引入js类似。
wxs.jpg首先,在pages同一级有个wxs目录(没有的可以自己创建),所有的wxs都可以放在这里。
subutil.wxs
在subutil.wxs中新建一个sub方法,用于根据特定需求截取字符串,并显示为带 * 号的字符串(前startLength + 四个 * 号 + 后endLength位),如果字符串长度小于startLength + endLength,则返回原始字符串:
/**
* 处理字符串为****格式,中间显示四个*号
* str 需要处理的字符串
* startLength 前面显示的字符串长度
* endLength 后面显示的字符串长度
*/
var sub = function (str, startLength, endLength) {
if (str.length == 0 || str == undefined) {
return "";
}
var length = str.length;
if (length >= startLength + endLength) {
return str.substring(0, startLength) + "****" + str.substring(length - endLength, length);
} else {
return str;
}
}
module.exports = {
sub: sub
}
wxml引用
使用以下代码引入wxs脚本:
<!-- 引入wxs脚本 -->
<wxs src="../../wxs/subutil.wxs" module="tools" />
在需要的地方通过以下方式调用即可:
{{tools.sub(phoneNum, 3, 4)}}
一个简单的手机号/身份证等隐私信息显示方法实现了,通过wxs,还可以在wxml中实现更多的内容;当然,建议尽量在js中把数据处理好,少在wxml中处理逻辑,wxs中也只定义少量工具方法...
简书:ThinkinLiu 博客: IT老五
IT老五(it-lao5):关注公众号,一起源创,一起学习!
网友评论