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);
精彩评论