Javascript将冒号附加到未知长度的数字

Javascript append colon to numbers of unknown length?

本文关键字:未知 数字 Javascript      更新时间:2023-09-26

我有一个数字比如

305060

我想在-2和-4位置放一个:所以我最终得到

30:50:60

如果输入5006070就会得到500:60:70

我不知道该怎么做。

使用以下代码:

var number = 123456789;
var formatted = number.toString().replace(/^('d+)('d{2})('d{2})/, '$1:$2:$3');
alert(formatted);

演示:http://jsfiddle.net/U4J6n/

如果number是字符串,可以将.toString()方法从代码中删除

您可以使用一个正则表达式来捕获两个数字的最后两组

/('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

小提琴

假设n是字符串的长度,首先你想从0到n-4,然后从n-4到n-2,最后从n-2到n,所以简单地使用substring或slice中的一种来获得解。

如果你想使用子字符串,那么它将是

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);

如果你想使用slice,那么

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);

您可以使用String.prototype.slice

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
在jsFiddle