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

求助:为PDF表单字段设置MF000-0000格式的JavaScript脚本

JavaScript自学资源推荐
  • 书籍:
    • 《JavaScript高级程序设计》(红宝书):从基础语法到进阶API全覆盖,适合系统构建知识体系
    • 《你不知道的JavaScript》(上中下卷):深挖JS核心机制,帮你搞懂原型、闭包这些容易混淆的概念
    • 《JavaScript DOM编程艺术》:入门前端DOM操作的经典,结合实战案例理解页面交互逻辑
  • 自学途径:
    • MDN Web Docs JavaScript教程:官方权威文档,内容细致且免费,遇到语法问题优先查这里
    • 实战练手:从TodoList、计算器这类小项目开始,边写代码边调试,比光看书效率高
    • 社区交流:逛技术论坛看别人的问题和解决方案,遇到卡壳的地方多提问
PDF表单字段格式化解决方案

要实现MF000-0000格式的固定前缀+数字分隔效果,你需要在PDF表单的字段中添加自定义JavaScript脚本(以Adobe Acrobat为例):

步骤1:设置自定义计算脚本

选中目标字段,打开「属性」→「计算」选项卡,选择「自定义计算脚本」,粘贴以下代码:

var rawInput = event.value;
// 过滤掉非数字内容,只保留用户输入的数字
var numStr = rawInput.replace(/[^0-9]/g, '');

// 格式化输出:固定MF + 3位数字 + 短横线 + 4位数字
if (numStr.length >= 7) {
    event.value = `MF${numStr.slice(0,3)}-${numStr.slice(3,7)}`;
} else if (numStr.length > 0) {
    let part1 = numStr.slice(0,3).padEnd(3, '0');
    let part2 = numStr.length > 3 ? numStr.slice(3).padEnd(4, '0') : '0000';
    event.value = `MF${part1}-${part2}`;
} else {
    // 未输入时显示占位符
    event.value = 'MF000-0000';
}

步骤2:限制输入内容(可选)

如果要确保用户只能输入数字,可在「属性」→「验证」选项卡添加自定义验证脚本:

var inputContent = event.value.replace(/MF|-/g, '');
if (!/^\d*$/.test(inputContent)) {
    app.alert('该字段仅支持输入数字!');
    event.rc = false; // 阻止非法输入
}

说明

  • 脚本会自动保留固定前缀MF,用户输入的数字会被自动格式化为000-0000的结构
  • 输入不足7位数字时,会自动补0显示占位符,输入满7位后自动截断多余数字

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 20:32:41