当前位置: 首页 > news >正文

vue2实现提取字符串数字并修改数字样式(正则表达式)

 如果你要在循环中提取 item.companyName 中的数字,并且希望为这些数字改变颜色和边距,可以对每个 item 进行处理。此处是一个实现示例:

<template>  <div>  <div class="box" v-for="(item, index) in coldBaseInfo.stationModelList" :key="index">  <div class="boxright">  <div class="companyName">  <span v-html="formatCompanyName(item.companyName)"></span>  </div>  </div>  </div>  </div>  
</template>  <script>  
export default {  props: {  coldBaseInfo: {  type: Object,  required: true,  },  },  methods: {  formatCompanyName(companyName) {  // 正则表达式提取数字  const numberPattern = /\d+/g;   // 使用 replace 生成带样式的 HTML  return companyName.replace(numberPattern, (match) => {  return `<span style="color: red; margin-left: 5px;">${match}</span>`;  });  },  },  
};  
</script>  <style scoped>  
.box {  /* 盒子的样式 */  
}  
.boxright {  /* 右边内容的样式 */  
}  
.companyName {  /* 公司名称的样式 */  
}  
</style>  

 

代码解释:

  1. 模板部分

    • 通过 v-for 循环遍历 coldBaseInfo.stationModelList。每一项的 companyName 被传入 formatCompanyName 方法处理。
    • 使用 v-html 指令将处理后的结果渲染到页面中。这允许你将带有样式的HTML代码插入。
  2. 计算方法

    • formatCompanyName 方法接收 companyName,使用正则表达式 /\d+/g 提取其中的数字。
    • replace 方法用于将提取到的数字替换为一个带有样式的 <span> 标签,这里设置了红色字体和适当的左边距。
  3. 样式

    • 在 <style> 标签内部,可以为盒子及其他元素添加合适的样式。

注意事项:

  • 请确保 companyName 中的数字不会为空。此代码仅适用于各 companyName 中含有数字的情况。
  • 使用 v-html 时要小心潜在的XSS攻击,确保传入的字符串是安全的且没有恶意代码。如果你不放心,也可以考虑其他方法,比如使用字符串拼接和 Vue 的 :style 与 :class

http://www.mrgr.cn/news/34861.html

相关文章:

  • 【linux内核】eBPF基础及应用调研
  • DeiT(ICML2021):Data-efficient image Transformer,基于新型蒸馏且数据高效的ViT!
  • 分布式锁实现与原理探究:介绍总结
  • jQuery——jQuery的基本使用
  • Vue ElemetUI table的行实现按住上下键高亮上下移动效果
  • 剑侠情缘c++源码全套(增加缺失的头文件和相关的库,其它网上流传的都是不全的)剑网三源码
  • springboot中药材进存销管理系统
  • 一例H-worm变种的分析
  • 拼团活动开发秘籍:PHP+Redis实现暂存成团信息,提升效率!
  • JDBC 与 Mybatis 对比
  • 软件架构设计原则
  • Java:列表操作
  • C++:类中的特殊内容
  • 基于BeagleBone Black的网页LED控制功能(Flask+gpiod)
  • Vue学习记录之八(局部组件,全局组件,递归组件,动态组件)
  • C++学习笔记----8、掌握类与对象(一)---- 对象中的动态内存分配(1)
  • Redis 的 Java 客户端有哪些?官方推荐哪个?
  • 末端无人配送产业链
  • MyBatis参数处理
  • JAVA无缝沟通全球国际版多语言语聊系统小程序源码