开发者

javascript number split

Can anyboyd help me split up this date number in javascript so that when it is outputted to the screen it has slashes between the 4th开发者_如何转开发 and 5th number and the 6th and 7th number, so that it can be understood by a vxml voice browser. The number can be any value so i need it to work for any eight digit number.

Like so:

20100820

2010/08/20

Many thanks


If you have a simple string:

var a = '23452144';
alert(a.substring(0,4) + '/' + a.substring(4,6) + '/' + a.substring(6));

For a number, you can use

var s = a.toString();

For a long string with many such dates, this will replace their formats (you can easily play with it if you want a dd/mm/yyyy format, for example):

a.replace(/\b(\d{4})(\d{2})(\d{2})\b/g, "$1/$2/$3")


You can use the substring-function for that. Assuming you always have the same input-format (eg. yyyymmdd), it can be done this way:

var dateString = "20100820";
var newValue = dateString.substring(0,4) + "/" + dateString.substring(4,6) + "/" + dateString.substring(6,8);

more on the substring function can be found at: http://www.w3schools.com/jsref/jsref_substring.asp


Use this javascript :

var objRegExp = /(\d{4})(\d{2})(\d{2})/;
var ourdate = "12334556";
var formateddate = ourdate.replace(objRegExp, "$1/$2/$3");

Now formateddate will have the require formatted date string.


var s = 20100820 + "";  // make the integer a string
var t = "";
for(var i=0; i<s.length; i++) {
    if(i == 4) // we're at the 4th char
        t += "/";

    if(i == 6) // we're at the 6th char
        t += "/";

    t += s.charAt(i);

}

console.log(t);


alert(20100820..toString().replace(/^(.{4})(.{2})/, "$1/$2/"))

PS. You need to accept some answers (see https://stackoverflow.com/faq for details).


var date ='20100317';
var output = date.replace(/(\d{4})(\d{2})(\d{2})/i,"$1/$2/$3");
alert(output);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜