美文网首页程序员开发者日记【Camel】...
微信小程序:wxml中增加wxs脚本实现手机号/身份证等隐私信息

微信小程序:wxml中增加wxs脚本实现手机号/身份证等隐私信息

作者: IT老五 | 来源:发表于2019-04-18 14:58 被阅读7次

    在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):关注公众号,一起源创,一起学习!

    相关文章

      网友评论

        本文标题:微信小程序:wxml中增加wxs脚本实现手机号/身份证等隐私信息

        本文链接:https://www.haomeiwen.com/subject/zoxtgqtx.html