以下是一个简单的实现:

function formatMoney(str) {
  // 去除字符串中的逗号和空格
  str = str.replace(/,/g, '').replace(/\s/g, '');
  // 判断字符串是否合法
  if (/^\d+(\.\d+)?$/.test(str)) {
    // 如果是整数或小数,直接返回
    return Number(str).toLocaleString('en-US', { style: 'currency', currency: 'USD' });
  } else {
    // 如果不合法,返回空字符串
    return '';
  }
}

这个函数会先去除字符串中的逗号和空格,然后判断字符串是否符合要求(以数字开头,其余字符都是数字或小数点或逗号),如果符合要求,就把字符串转换成标准金额格式的字符串(比如 "$1,234.56"),否则返回空字符串。

示例:

formatMoney('1234') // "$1,234.00"
formatMoney('1234.56') // "$1,234.56"
formatMoney('1,234.56') // "$1,234.56"
formatMoney('1 234.56') // "$1,234.56"
formatMoney('1.234,56') // ""
formatMoney('abc123') // ""
用js写一个可以把以数字开头其余字符都是数字或小数点或的字符串转换成标准金额格式的字符串

原文地址: https://www.cveoy.top/t/topic/butl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录