разделение номера javascript - PullRequest
4 голосов
/ 17 марта 2010

Может ли anyboyd помочь мне разделить этот номер даты в javascript, чтобы при выводе на экран он имел косые черты между 4-м и 5-м числами и 6-м и 7-м числами, чтобы его можно было понять с помощью голосового браузера vxml , Число может быть любым значением, поэтому мне нужно, чтобы оно работало для любого восьмизначного числа.

Вроде так:

20100820

2010/08/20

Большое спасибо

Ответы [ 6 ]

7 голосов
/ 17 марта 2010

Если у вас есть простая строка:

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

Для номера вы можете использовать

var s = a.toString();

Для длинной строки с большим количеством таких дат это заменит их форматы (вы можете легко играть с ней, например, если вы хотите использовать формат дд / мм / гггг):

a.replace(/\b(\d{4})(\d{2})(\d{2})\b/g, "$1/$2/$3")
3 голосов
/ 17 марта 2010

Для этого вы можете использовать функцию substring.Предполагая, что у вас всегда один и тот же формат ввода (например, ггггммдд), это можно сделать следующим образом:

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

больше о функции подстроки можно найти по адресу: http://www.w3schools.com/jsref/jsref_substring.asp

1 голос
/ 17 марта 2010

Используйте этот JavaScript:

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

Теперь у formateddate будет указана необходимая строка даты в формате.

0 голосов
/ 17 марта 2010
var date ='20100317';
var output = date.replace(/(\d{4})(\d{2})(\d{2})/i,"$1/$2/$3");
alert(output);
0 голосов
/ 17 марта 2010
alert(20100820..toString().replace(/^(.{4})(.{2})/, "$1/$2/"))

PS. Вам необходимо принять некоторые ответы (см. https://stackoverflow.com/faq).

0 голосов
/ 17 марта 2010
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);
...