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

如何编写Regex匹配指定规则的4/5/6位数字,处理前导零后的截取需求

正则匹配解决方案

匹配前导零之后最后4/5位数字

直接使用如下正则即可,捕获组1就是你需要的结果:

0*(\d{4,5})$

逻辑说明:

  • 0* 匹配任意数量的前导零
  • (\d{4,5}) 捕获连续4-5位数字
  • $ 锚定到字符串末尾,确保取的是末尾的数字段

完整适配所有规则的解决方案

结合你给出的全部匹配规则(含不足4位补前导零到4位、6位非零开头数字完整保留的要求),可以通过两步处理实现:

  1. 先提取原字符串的有效数字段,过滤多余前导零和超出6位的前缀:
^0*(\d{1,6})$
  1. 对捕获到的有效数字按长度处理:
  • 长度为5/6且首字符为1-9:直接返回完整字符串
  • 长度≤4:左侧补0到4位后返回

代码实现示例(JavaScript)

function matchTargetNum(inputStr) {
  // 提取有效数字段
  const validNum = inputStr.match(/^0*(\d{1,6})$/)[1];
  if (validNum.length >=5 && validNum[0] !== '0') {
    return validNum;
  } else {
    // 补前导零到4位,取末尾4位避免超长
    return validNum.padStart(4, '0').slice(-4);
  }
}

测试验证结果(完全匹配你给出的示例)

输入字符串输出结果
1045510455
0069956995
0020852085
000000010001
00010001
1060106
81818181
009335593355
80008
649402649402
010001
020002
0000000010001
08150815

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:36:06