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
相关推荐
f8979070701 小时前
设置layui动态表格某一行的背景色
前端·javascript·layui
猿大师办公助手2 小时前
如何在Chrome最新浏览器中调用ActiveX控件?
前端·chrome
V_fanglue37052 小时前
qmt量化交易策略小白学习笔记第67期【qmt编程之获取ETF申赎清单】
大数据·前端·数据库·笔记·python·学习·区块链
林啾啾3 小时前
vue3实现自定义主题色切换功能
前端·vue.js
软糖工程0013 小时前
正则表达式【详细解读】
大数据·前端·爬虫·python·学习·正则表达式·数据分析
DngYT4 小时前
vue如何挂载路由
前端·javascript·vue.js
呵呵哒( ̄▽ ̄)"4 小时前
vue.js 展示树状结构数据,动态生成 HTML 内容
开发语言·前端·javascript·vue.js
安冬的码畜日常4 小时前
【CSS in Depth 2 精译_035】5.5 Grid 网格布局中的子网格布局(全新内容)
前端·css·css3·网格布局·css布局·子网格·subgrid
JuneTT4 小时前
uniapp 常用高度状态栏,导航栏,tab栏,底部安全高度
前端·javascript·uni-app