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

如何在JavaScript中将文本文件手机号格式化为123-456-7890格式?

手机号格式化实现方案

原代码不可行,存在两个明显问题:

  • fs.readFileSync 默认返回Buffer对象,直接调用replace方法会抛出错误,必须转为字符串才能处理
  • replace方法的参数写法错误,没有提供有效的匹配规则和替换模板

正确实现代码

const fs = require('fs');

// 读取文件内容并转为UTF-8字符串
let mobileContent = fs.readFileSync('Numbertext.txt', 'utf8');

// 全局匹配10位数字手机号,格式化为xxx-xxx-xxxx形式
const formattedContent = mobileContent.replace(/(\d{3})(\d{3})(\d{4})/g, '$1-$2-$3');

// 可选:将格式化后的内容写入新文件
fs.writeFileSync('FormattedNumbers.txt', formattedContent);

console.log(formattedContent);

关键细节说明

  • 读取文件时添加'utf8'编码参数,避免Buffer类型的处理问题
  • 正则表达式/(\d{3})(\d{3})(\d{4})/g:
    • \d{3} 匹配连续3位数字,通过括号分成三个捕获组
    • g 修饰符表示全局匹配,处理文件中所有符合规则的手机号
  • 替换模板$1-$2-$3对应三个捕获组的内容,用短横线拼接成目标格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 04:15:33