首页 > 求助js正则表达式:将数字转换为3位一个逗号分割的形式
头像
小肉丸老师
编辑于 2020-06-16 11:26
+ 关注

求助js正则表达式:将数字转换为3位一个逗号分割的形式

function seperator(num) {
    if(!num){
        return 0.00
    }
    //toFixed()方法可以把Number四舍五入为指定位数的数字
    let str=parseFloat(num).toFixed(2);
    //"?="表示查询的要满足的条件,
    return str&&str.toString().replace(/(\d)(?=(\d{3})+\.)/g,function ($0,$1) {
        return $1+','
    })
}

最后的return语句看不太懂,是递归调用的吗?
replace里面的function的($0,$1)是不是分别代表匹配到的整个字符串和第一个子字符串。
那么第一次$1是最开始匹配到的要加,的最高位吗?后面又是怎么进行的呢?
为什么这个正则表达式可以匹配多次
(js入门的渣渣遇到正则表达式在线哭泣了,网上也没有搜到细致的讲解)

全部评论

(1) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

近期精华帖

热门推荐