单行 JS 实现移动端金钱格式输入校验

作者:小括号

时间:2026-10-22

浏览:427

本文介绍如何在移动端实现金钱格式的单行 JavaScript 输入校验。通过正则表达式屏蔽非法字符,限制小数点数量与位置,确保数值格式符合财务规范,提供简洁高效的代码方案。

文章目录

移动端金钱格式输入校验方案

金钱格式校验是常见的需求。早期工作中初次遇到此类需求时,由于对正则表达式掌握不足,通过参考类似方案并查阅正则文档,将其修改为符合自身业务逻辑的形式。

然而,用户输入行为具有任意性。若仅依靠显示提示信息来约束输入,虽能满足基本校验要求,但交互体验并不友好。

许多移动端应用在处理金钱输入时,采用屏蔽错误输入的方式,仅允许用户输入符合正确格式的内容。以下梳理金钱格式的具体输入规则:

金钱格式输入规则详解

1. 禁止输入空白字符及字母 2. 仅允许输入数字及小数点 3. 数值首位不能为小数点 4. 小数点在整个字符串中只能出现一次 5. 小数点后必须且仅保留两位数字 6. 禁止输入首位为 0 的多位数(如 0123)

看似简单的问题,实则需周全考虑各种边界情况。经过反复摸索,最终实现了简洁的代码。其中核心的校验逻辑仅需一行代码即可完成。

单行 JS 代码实现


function moneyFormat(str) {
  return str.replace(/[^\d\.]|^\./g, '').replace(/\.{2}/g, '.').replace(/^([1-9]\d*|0)(\.\d{1,2})(\.|\d{1})?$/, '$1$2').replace(/^0\d{1}/g, '0');
}

篇幅有限,此处不再赘述。最后附上在 CodePen 上编写的 Demo 示例,希望能对有需要的人提供帮助。

移动端金钱格式输入校验方案

以上所述是小编给大家介绍的单行 JS 实现移动端金钱格式的输入规则,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对本站网站的支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章