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

PHP如何将14位整数格式化为带横杠分隔的指定模板字符串

14位固定长度整数的横杠格式化实现方案

核心思路

因为位数固定为14位,分割规则为按4位-4位-4位-2位分段,优先用正则分组捕获+替换,或者批量切片拼接的方式,避免多次手动调用substr硬编码,代码可读性和可维护性更高。

常用语言实现示例

JavaScript

正则替换方案:

const originNum = 98000011601815;
const formattedStr = String(originNum).replace(/^(\d{4})(\d{4})(\d{4})(\d{2})$/, '$1-$2-$3-$4');
// 输出结果:9800-0011-6018-15

更简化的正则切割方案:

const formattedStr = String(originNum).match(/\d{1,4}/g).join('-');

Python

正则实现:

import re
origin_num = 98000011601815
formatted_str = re.sub(r'^(\d{4})(\d{4})(\d{4})(\d{2})$', r'\1-\2-\3-\4', str(origin_num))

切片拼接方案(可读性最高):

s = str(origin_num)
formatted_str = f"{s[:4]}-{s[4:8]}-{s[8:12]}-{s[12:]}"

Java

long originNum = 98000011601815L;
String formattedStr = String.valueOf(originNum).replaceAll("(\\d{4})(\\d{4})(\\d{4})(\\d{2})", "$1-$2-$3-$4");

注意事项

因为已经明确输入是固定14位整数,不需要做长度校验、非数字校验等边界处理,上述方案可以直接使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:45:03