Vue过滤用户敏感词操作

简介: Vue过滤用户敏感词操作

我们前端在开发评论留言模块的时,有可能会遇到一些用户不小心输入了一些辱骂别人的话,如果我们这个时候不做任何限制直接发送给后端,让后端存在数据库,我们前端拿到在进行展现给用户查看,这是一种对用户十分不友好不雅观的行为,所以我们今天来实现过滤文本脏字

页面结构


我们这里需要有一个文本域,用于让用户输入他们想输入的内容,有一个按钮用于提交我们文本域中的内容,按钮绑定了一个点击事件,当我们点击提交后,会对其内容进行过滤脏字的处理,还有个展示内容的元素,里面展示的是我们过滤完脏字后的内容,我们使用或逻辑运算符中断运算的特性对其显示内容进行判断,如果没有要显示的内容则显示暂无内容,如果有则显示过滤完脏字后的内容

<div>
      <textarea
        cols="30"
        rows="10"
        v-model="dirtyVal"
      ></textarea>
      <button @click="holdDirty">提交</button>
    </div>
    <br/>
    <!-- 展示内容-->
 <div> 展示内容:{{fliterDirtyVal||'暂无内容'}}</div>

实现逻辑


我们定义三个数据,第一个数据通过v-model绑定在文本域中,第二个数据是过滤脏字后的内容,第三个是脏字列表,我们输入的内容和需要和他进行对比

data() {
    return {
      //文本内容
      dirtyVal: "",
      // 过滤后的文本内容
      fliterDirtyVal: '',
    //   需要过滤的脏字
dirtyList:['妈的','滚','TM','SB','去死'],
    };

写一个替换脏字的方法

holdDirty(){
//获取到当前文本域中的输入值
    let  value=this.dirtyVal;
    //将脏字列表使用join方法结合|拼接成正则判断的字符串
    let dirtyRegText=this.dirtyList.join('|');
    //创建一个正则,匹配所有包含脏字的字段且不区分大小写
   let dirtyReg= new RegExp(dirtyRegText,'gi');
   //使用正则,将当前文本域中的值使用正则进行替换且重新存到value变量中
 value=  value.replace(dirtyReg,'**')
 //将替换过后的文本赋值给过滤后的文本内容变量,以此让页面展示过滤后的内容,可以看到我们是否替换成功
    this.fliterDirtyVal=value;
}
  },

坚持努力,无惧未来!

相关文章
|
5月前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
467 2
|
4月前
|
缓存 JavaScript
vue中的keep-alive问题(2)
vue中的keep-alive问题(2)
400 137
|
8月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
932 0
|
10月前
|
JavaScript
vue实现任务周期cron表达式选择组件
vue实现任务周期cron表达式选择组件
1200 4
|
8月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能
|
9月前
|
JavaScript 数据可视化 前端开发
基于 Vue 与 D3 的可拖拽拓扑图技术方案及应用案例解析
本文介绍了基于Vue和D3实现可拖拽拓扑图的技术方案与应用实例。通过Vue构建用户界面和交互逻辑,结合D3强大的数据可视化能力,实现了力导向布局、节点拖拽、交互事件等功能。文章详细讲解了数据模型设计、拖拽功能实现、组件封装及高级扩展(如节点类型定制、连接样式优化等),并提供了性能优化方案以应对大数据量场景。最终,展示了基础网络拓扑、实时更新拓扑等应用实例,为开发者提供了一套完整的实现思路和实践经验。
1165 78
|
10月前
|
缓存 JavaScript 前端开发
Vue 基础语法介绍
Vue 基础语法介绍
|
7月前
|
人工智能 JSON JavaScript
VTJ.PRO 首发 MasterGo 设计智能识别引擎,秒级生成 Vue 代码
VTJ.PRO发布「AI MasterGo设计稿识别引擎」,成为全球首个支持解析MasterGo原生JSON文件并自动生成Vue组件的AI工具。通过双引擎架构,实现设计到代码全流程自动化,效率提升300%,助力企业降本增效,引领“设计即生产”新时代。
551 1
|
7月前
|
JavaScript 安全
在 Vue 中,如何在回调函数中正确使用 this?
在 Vue 中,如何在回调函数中正确使用 this?
365 0
|
8月前
|
JavaScript 前端开发 开发者
Vue 自定义进度条组件封装及使用方法详解
这是一篇关于自定义进度条组件的使用指南和开发文档。文章详细介绍了如何在Vue项目中引入、注册并使用该组件,包括基础与高级示例。组件支持分段配置(如颜色、文本)、动画效果及超出进度提示等功能。同时提供了完整的代码实现,支持全局注册,并提出了优化建议,如主题支持、响应式设计等,帮助开发者更灵活地集成和定制进度条组件。资源链接已提供,适合前端开发者参考学习。
568 17

热门文章

最新文章