使用正则表达式
    纯整数

    1. let miliFormat = (num) => {
    2. return num && num.toString().replace(/(?=(?!^)(\d{3})+$)/g, ',');
    3. }

    正则表达式解释
    ?= 匹配子表达式之前
    ?! 不匹配子表达式 ^起始位置
    \d 所有数字 {n}匹配n次 \d{3} 数字匹配3次
    +前面的表达式匹配一次或多次
    $匹配到结尾
    /g全局匹配
    全局匹配执行一次以上3n个数字不匹配起始位置的后面
    带小数点的
    匹配到小数点之前用纯整数的方法替换

    1. let miliFormat = (num) => {
    2. return num && num
    3. .toString()
    4. .replace(/^\d+/, (m) => m.replace(/(?=(?!^)(\d{3})+$)/g, ','))
    5. }

    ^\d+ 从开头匹配数字一次以上直至第一个非数字

    其中带空格或带其它字符串的,看下面链接吧。用正则我也看不懂。空格可以用trim(),带其它字符串可以先判断是不是数字return obj === +obj;

    千位符参考
    https://www.tuicool.com/articles/ArQZfui
    正则表达式参考
    https://www.cnblogs.com/lwming/p/10943193.html