温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaScript如何实现数字、金额格式互转正则表达式

发布时间:2022-03-21 15:01:45 来源:亿速云 阅读:462 作者:小新 栏目:开发技术

这篇文章主要介绍了JavaScript如何实现数字、金额格式互转正则表达式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

数字,金额格式互转正则表达式

<input type="text" placeholder="请输入" oninput = "checkInput(this)">

input 输入实时判断输入为金额格式

  function checkInput(obj) {
    var t = obj.value.charAt(0);
    obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
    obj.value = obj.value.replace(/^[0]+[0-9]*$/gi, ""); //第一位数字不能为0
    obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字而不是.
    obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
    obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
    obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
    if (t == '-') {
      obj.value = '-' + obj.value;
    }
  }

数字转金额格式,保留两位小数点 例:将 1234567 转换为 1,234,567.00

 //s是数字,n是小数点位数
  function fmoney(s, n) {
  n = n > 0 && n <= 20 &#63; n : 2;
  s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
  var l = s.split(".")[0].split("").reverse(),
  r = s.split(".")[1];
  t = "";
  for (i = 0; i < l.length; i++) {
    t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length &#63; "," : "");
  }
  return t.split("").reverse().join("") + "." + r;
}

金额格式转数字 例:将 1,234,567.00 转换为 1234567.00

function moneyToNumValue(val) {
  var num = val.trim();
  var ss = num.toString();
  if (ss.length == 0) {
    return "0";
  }
  return ss.replace(/,/g, "");
}

感谢你能够认真阅读完这篇文章,希望小编分享的“JavaScript如何实现数字、金额格式互转正则表达式”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI