我有一个号码让我们说
305060
我想把:
放在-2和-4位置,所以我最终得到了
30:50:60
如果我输入5006070,我最终会得到500:60:70
我似乎无法弄清楚如何做到这一点。
答案 0 :(得分:2)
使用此代码:
var number = 123456789;
var formatted = number.toString().replace(/^(\d+)(\d{2})(\d{2})/, '$1:$2:$3');
alert(formatted);
如果number
是字符串,则可以从代码中删除.toString()
方法。
答案 1 :(得分:1)
您可以使用正则表达式捕获两个最后两个数字组
/(\d{2})(\d{2})$/
所以它是
var x = 305060;
x = x.toString().replace(/(\d{2})(\d{2})$/, ":$1:$2"); // 30:50:60
var x2 = 5006070;
x2 = x2.toString().replace(/(\d{2})(\d{2})$/, ":$1:$2"); // 500:60:70
答案 2 :(得分:0)
假设n是字符串的长度,首先要取0到n-4的数字,然后是n-4到n-2,最后是n-2到n,所以只需使用子字符串或切片之一得到解决方案。
如果你想使用子串,那么它将是
var num="305060";
var length=num.length;
var ans=num.substring(0,length-4)+":"+num.substring(length-4,length-2)+":"+num.substring(length-2,length);
alert(ans);
如果你想使用切片
var num="305060";
var length=num.length;
var ans=num.slice(0,length-4)+":"+num.slice(length-4,length-2)+":"+num.slice(length-2,length);
alert(ans);
substr是javascript中的另一个函数,可以帮助您获得解决方案
var num="305060";
var length=num.length;
var ans=num.substr(0,length-4)+":"+num.substr(length-4,2)+":"+num.substr(length-2,2);
alert(ans);
答案 3 :(得分:0)
的Javascript
var x = 305060,
y = x.toString(),
z = [y.slice(0, -4), y.slice(-4, -2), y.slice(-2)].join(':');
console.log(z);
输出
30:50:60
上