如何在javascript中的n位数之后拆分数字?

时间:2016-03-22 10:44:35

标签: javascript string substring

我有一个数字2802,它在后端存储为一个字符串。我想将这个数字分成两部分,28和02,应该显示为28/02日期?我怎么能用'/'来表达呢?

8 个答案:

答案 0 :(得分:3)

试试这个:您可以使用substring,如下所示。 substring用于获取起始索引和结束索引之间的字符串。在您的情况下,获取从0到1,然后是2到3的字符串。

var str = "2802";
str = str.substring(0,2) + "/" + str.substring(2,4);
alert(str);

<强> More information on Substring

答案 1 :(得分:2)

正则表达式解决方案

&#13;
&#13;
var res = "2802".match(/\d{2}/g).join('/');

document.write(res);
&#13;
&#13;
&#13;

答案 2 :(得分:1)

您是否在询问简单的字符串操作?

var str = "1234";
var res = str.substr(0, 2)+"/"+str.substr(2,4);

答案 3 :(得分:1)

你可以这样做:

set ocmd = server.CreateObject("ADODB.Command")  'created command object
oCmd.Dialect = "{5D531CB2-E6Ed-11D2-B252-00C04F681B71}"  ' assigned dialect
oCmd.Execute , , 1024     'Error line
var str = "2802";

str = str.split('').map(function(el, i){
   if(i == 2){ el = '/'+el}
  return el;
});
document.querySelector('pre').innerHTML = str.join('');

使用正则表达式:

<pre></pre>
var str = "2802";

str = str.replace(/(.{1,2}$)/gi, '/$1');

document.querySelector('pre').innerHTML = str;

答案 4 :(得分:0)

var str = "2802";
var output = [str.slice(0, 2), str.slice(2)].join('/');

答案 5 :(得分:0)

在此背景下,考虑2802,28是日期,02是月

这里 112 028 什么是日期和月份?

答案 6 :(得分:0)

更通用的解决方案可能是

var num = 2802;
var output = String(num).match(new RegExp('.{1,2}', 'g')).join("/");

将2号码替换为n号后的号码。

var n = 2;
var output = String(num).match(new RegExp('.{1,'+n+'}', 'g'));

答案 7 :(得分:0)

var db_date = '112';
var date_str = '';
if(db_date.slice(0,1)==0){
    var date_val = db_date.slice(0,2);
    var month_val = db_date.slice(2,3);

    if(month_val<=9){
        month_val = '0'+month_val;
    }
}else{
    var date_val = db_date.slice(0,1);
    date_val = parseInt(date_val);
    if(date_val<=9){
        date_val = date_val.toString();
        date_val = '0'+date_val;
    }
    var month_val = db_date.slice(1,3);
}
alert(date_val+'/'+month_val);