You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript正则检测Excel工作表名称非法字符的实现问题

正确实现方案

你要匹配的7个特殊字符中包含多个正则语法保留字符,需要正确转义后放在字符组中即可实现任意命中的需求,直接使用正则字面量的写法如下:

// 匹配任意Excel工作表禁用字符的正则
const invalidSheetNameRegex = /[\/\\\[\]*:?]/

// 检测函数封装
function checkInvalidSheetName(str) {
  return invalidSheetNameRegex.test(str)
}

测试用例

  • checkInvalidSheetName("三季度销售数据") → 返回 false,无禁用字符
  • checkInvalidSheetName("三季度/销售数据") → 返回 true,包含禁用字符 /
  • checkInvalidSheetName("[内部]销售汇总") → 返回 true,包含禁用字符 [、]
  • checkInvalidSheetName("10月:目标?") → 返回 true,包含禁用字符 :、?

常见踩坑说明

如果你之前生成的正则无法生效,大概率是转义层数没处理对:如果用RegExp构造函数生成正则,参数为字符串类型,字符串本身的反斜杠需要额外转义,对应构造函数写法如下:

const invalidSheetNameRegex = new RegExp("[\\/\\\\\\[\\]*:?]")

内容的提问来源于stack exchange,提问作者Daniel Soriano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 08:27:04