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

如何使用jQuery移除表单textarea字段中的逗号与小数点?

实现方案

核心逻辑调整

原代码的问题是直接把格式化后带逗号、小数点的输入框值赋值给了提交用textarea,我们只需要拆分逻辑即可:

  • 先提取用户输入的纯数字内容,直接写入提交用textarea
  • 再将纯数字格式化为货币格式,回显到交互输入框
    同时删掉冗余的oninput绑定,所有逻辑统一在jQuery的keyup事件里处理即可。

完整修改后代码

JS代码

$('input.number').keyup(function(event) {
  // 跳过方向键操作,避免影响光标移动
  if(event.which >= 37 && event.which <= 40) return;

  // 第一步:提取纯数字,写入提交用textarea
  const pureNumber = $(this).val().replace(/\D/g, "").replace(/^0+/,"") || "0";
  $('#demo').val(pureNumber);

  // 第二步:将纯数字格式化为货币格式,回显到交互输入框
  $(this).val(function() {
    return pureNumber
      .split(/(\d{0,2})$/) 
      .join(".")
      .replace(/\B(?=(\d{3})+(?!\d))/g, ",")
      .replace(/\.$/,"") // 仅移除末尾多余小数点,避免误删有效数字
  });
});

HTML代码

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

<input id="postcontent" class="number">
<br><br>
<!-- 实际使用时可添加style="display:none"隐藏该字段 -->
<textarea id="demo" rows="5"></textarea>

效果验证

当你输入100时:

  • 交互输入框展示:1.00
  • 提交用textarea存储内容:100
    完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 16:18:03