专栏首页微信小程序开发小程序中敏感词过滤——前端实现

小程序中敏感词过滤——前端实现

知晓程序员,专注小程序开发的程序员!

小程序内容如果含有淫秽色情、涉违法犯罪、涉政有害等不良信息,将会被微信强制下架小程序。

因此,微信官方也推出了内容安全接口,文档地址:https://developers.weixin.qq.com/miniprogram/dev/api/msgSecCheck.html

在些之前,有些开发者也使用过第三方的内容安全接口,比如网易易盾、阿里云内容检测API、百度AI内容审核,这些都是收费的,主要针对企业用户。

因此,官方推出此内容安全接口后,算是对开发者的一种福利

官方提供的安全接口,是需要调用服务端的API,检测完成再返回结果。如果页面的表单内容很多,每次都请求API就不合理了。能否直接在前端就做个简单检验呢?

连胜老师介绍一种前端处理敏感词的方法:替换相关敏感词为**

把一些基本的敏感词放在前端校验,一些疑似或者有语义的词再去用官方API检测。

直接看代码:

function hasSensitiveWords(str) {
  if(str == '' || str == undefined) return false;
  var words = '台独,藏独';  // 常用敏感词,请自己添加
  var array = words.split(','), len = array.length;
  for (var i = 0; i < len; i++) {
    var item = array[i];
    if (str.indexOf(item) >= 0 && item != '') {
      return item;
    }
  }
  return false;
}

function replaceAll(oldStr, reStr) {
  var len = reStr.length, starStr = '';
  for (var i = 0; i < len; i++) {
    starStr += '*';
  }
  return oldStr.replace(new RegExp(reStr, "gm"), starStr);
}

js判断:

var titleStr = util.hasSensitiveWords(this.data.title);
if (titleStr) {
  util.showModelTips('标题包含敏感词,已经自动处理为*,请重新编辑');
  this.setData({
    title: util.replaceAll(this.data.title, titleStr),
    titleDefault: util.replaceAll(this.data.title, titleStr),
  });
  return;
}

当用户输入了相关敏感词后,前端可以做个简单处理,把常用敏感词替换成**。减少了一部分API请求,体验稍微好一些~

《完》

本文分享自微信公众号 - 知晓程序员(bainaweb),作者:连胜

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-05-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 小程序技术杂谈 手写签名DEMO

    好久没写文章,小程序群内已经有群友反馈给我,希望我坚持写公众号文章。感谢这位群友 & 粉丝的支持!连胜老师最近确实变懒了,今天来说说群友们进期在群内讨论的几个问...

    连胜
  • 小程序的登录逻辑能否放在app.js中实现?

    前言:做小程序开发的同学,可能都会考虑一个问题,用户登录这个方法是公用的,我们应该把这个方法放在哪里最合适呢? 看到上面的问题后,很大一部分刚入门同学都会直接...

    连胜
  • 小程序“功能直达”内测,你读懂了什么?

    小程序“功能直达”功能正式开始内测。部分小程序已收到内测邀请。 ? 开启这个功能后用户可在“发现-小程序”中通过搜索找到小程序提供的功能。 小程序将获得更多用户...

    连胜
  • 离人类更近一步!DeepMind最新Nature论文:AI会“回忆”,掌握调取记忆新姿势

    在P1阶段,智能体必须在没有即时奖励的情况下探索一个环境以获取信息; 在P2阶段,智能体在很长一段时间内从事一项不相关的干扰任务,并获得了许多附带的奖励; 在P...

    量子位
  • redis_3.0.7_sds.c_sdscatlen()

    青木
  • 基础扩展 | 12. 二分查找算法

    我家小孩特别喜欢玩游戏,一有空就缠着我和她妈与她一起玩游戏。有一次,吃完晚饭后,她又缠着我要玩游戏,而我又想抓紧时间快点将第二天的微信公众号文章搞出来。灵机一动...

    fanjy
  • php截取字符串函数

    WindWant
  • Selenium Grid 简明用法

    前几天有同学问我selenium gird的问题, 简要告知后才知道,selenium gird仍然在很多公司的自动化里占很大比重,我一直觉得在Jenkins这...

    iTesting
  • 3.类和对象

    类的基本思想:数据抽象和封装 数据抽象是一种依赖接口和实现分离的编程技术 接口:类的用户所能执行的操作 实现:类的数据成员、接口函数的实现及其他私有函数的...

    小飞侠xp
  • 你知道什么是Base64吗?

    沈唁

扫码关注云+社区

领取腾讯云代金券