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
相关推荐
QQ1__81151751516 分钟前
Spring boot名城小区物业管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·vue.js·spring boot
钛态17 分钟前
前端微前端架构:大项目的救命稻草还是自找麻烦?
前端·vue·react·web
一粒黑子18 分钟前
【实战解析】阿里开源 PageAgent:纯前端 GUI Agent,一行JS让网页支持自然语言操控
前端·javascript·开源
独角鲸网络安全实验室20 分钟前
2026微信小程序抓包全解析:从实操落地到合规风控,解锁前端调试新范式
前端·微信小程序·小程序·抓包·系统代理绕过·https证书严格校验·进程隔离
紫微AI20 分钟前
前端文本测量成了卡死一切创新的最后瓶颈,pretext实现突破了
前端·人工智能·typescript
GISer_Jing20 分钟前
AI前端(From豆包)
前端·aigc·ai编程
IT枫斗者20 分钟前
前端部署后如何判断“页面是不是最新”?一套可落地的版本检测方案(适配 Vite/Vue/React/任意 SPA)
前端·javascript·vue.js·react.js·架构·bug
测试修炼手册21 分钟前
[测试技术] 深入理解 JSON Web Token (JWT)
前端·json
AI老李23 分钟前
2026 年 Web 前端开发的 8 个趋势!
前端
里欧跑得慢25 分钟前
15. Web可访问性最佳实践:让每个用户都能平等访问
前端·css·flutter·web