Javascript jQuery拆分获取最后2位

Javascript jQuery拆分获取最后2位,javascript,Javascript,代码: 输出: '2018-12-2417:25:33'.split('-'); 预期产出: ["2018", "12", "2417:25:33"] 有谁能告诉我如何实现预期的输出吗?您可以使用正则表达式模式/^\d{4}-\d{2}-\d{2}/来实现,然后使用-进行拆分 let str=“2018-12-2417:25:33” 设op=str.match(/^\d{4}-\d{2}-\d{2}/)[0]。拆分('-')) 控制台日志(op) var a='2018-12-2417:2

代码:

输出:

'2018-12-2417:25:33'.split('-');
预期产出:

["2018", "12", "2417:25:33"]

有谁能告诉我如何实现预期的输出吗?

您可以使用正则表达式模式
/^\d{4}-\d{2}-\d{2}/
来实现,然后使用
-
进行拆分

let str=“2018-12-2417:25:33”
设op=str.match(/^\d{4}-\d{2}-\d{2}/)[0]。拆分('-'))
控制台日志(op)
var a='2018-12-2417:25:33'。拆分('-');
var result=a[0]+'-'+a[1]+'-'+a[2]。子串(0,2);

控制台日志(结果)该代码按照您的要求工作,假设您以某种方式将日期和时间代码混合在一起。。。因此,时间码也将有8个字符

我想看看您是如何创建这个字符串的,您应该能够在代码的早期将日期和时间值彼此分离,并避免这种讨厌的攻击


演示
$(文档)。在(“更改键控粘贴单击”,“日期时间”,函数()上){
var dateTime=$(this.val();
//在“-”上拆分
var el=dateTime.split('-');
//删除时间-我们知道rimes将始终输入为“xx:xx:xx”-即8个字符
el[2]=el[2]。子串(0,el[2]。长度-8);
//打印到控制台
$(“#日期输出”).text(el);
});
$(“#日期时间”)。单击()

您可以测试下面的函数

请记住,它希望在字符串的末尾有一个八个字符的时间字符串

试试以下方法:

["2018", "12", "24"]

您可以先将相关部分切分,然后将字符串拆分为多个部分

var字符串='2018-12-2417:25:33',
结果=string.slice(0,10).split('-');

控制台日志(结果)
您是否可以提供更多的代码,即您如何生成/获取字符串
2018-12-2417:25:33
?从外观上看,如果是通过使用
Date
类,您可以使用更整洁的方法…我相信预期的输出将是
[“2018”、“12”、“2417”]
更聪明的方法,只要确保格式始终是4d-2d-2d,否则您可能会处理像2018-1-24或2018-12-1或2018-1-1这样的情况。不确定原始格式是什么,但这可能是针对这种情况最聪明的方法。
var date = '2018-12-2417:25:33'.split(':');
date[0].split('-');