关于被问及的一个问题
问:怎么样将这样一个“123456789”的数字用逗号隔开 ,比如:123,456,789.
开始很统一想到模3之类的,写了一下发现有问题。其实这个题有很多种解法,我也不清楚考官为何要问这一问题。
1.正则
其实容易想到正则,但是用笔来写就得一次成功,没有退路,而且我的正则不算好,想了半天觉得递归。
reg1 = /(?!^)(\d{3}){1,}$/g;
reg2 = /(\d{3})(?!,|$)/g;
reg1 用来把字符串先分开已3的倍数,找到不够3倍的地方。
"1278934432".replace(reg1,function(a){ return ','+a; }) //"1,278934432"
把后面的用逗号依次切开
"1,278934432".replace(reg2,function(a){ return a+"," })//1,278,934,432