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

如何使用Regex与Node.js匹配除连续13位数字外的所有内容

解决方案:Node.js + 正则移除连续13位数字

当然有可行的思路啦,其实核心思路反过来想更简单——精准定位你要移除的连续13位数字,然后把它们替换为空,这样剩下的就是你要的内容了。下面是具体的实现方案:

基础实现代码

直接使用JavaScript的String.replace()方法配合正则表达式,就能快速完成需求:

const originalUrl = 'https://www.mywebsite.com/123_05547898_8101060027367_00.jpeg';
// 匹配连续13位数字并替换为空
const modifiedUrl = originalUrl.replace(/\d{13}/, '');

console.log(modifiedUrl);
// 输出结果:https://www.mywebsite.com/123_05547898__00.jpeg

正则表达式说明

  • \d:匹配任意一个数字字符(等价于[0-9])
  • {13}:指定前面的匹配项(这里是数字)必须连续出现13次
  • 整个/\d{13}/就会精准定位字符串中第一处连续13位数字的片段

进阶:处理多个连续13位数字的场景

如果你的字符串中可能存在多处连续13位数字,可以给正则加上全局匹配标志g,这样会替换所有符合条件的片段:

const originalStr = 'abc1234567890123def9876543210987ghi';
const modifiedStr = originalStr.replace(/\d{13}/g, '');

console.log(modifiedStr);
// 输出结果:abcdefghi

可选:避免误匹配长数字中的13位片段

如果需要确保匹配的是独立的13位数字序列(比如不想把14位数字里的前13位误删掉),可以使用单词边界\b来限定范围:

const originalStr = 'abc12345678901234def1234567890123ghi';
// \b 会匹配数字与非数字字符的边界
const modifiedStr = originalStr.replace(/\b\d{13}\b/g, '');

console.log(modifiedStr);
// 输出结果:abc12345678901234defghi

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 19:32:50