代码:
'2018-12-2417:25:33'.split('-');
输出:
["2018", "12", "2417:25:33"]
预期输出:
["2018", "12", "24"]
任何人都可以告诉我如何达到预期的输出量吗?
答案 0 :(得分:5)
您可以使用正则表达式模式/^\d{4}-\d{2}-\d{2}/
进行操作,然后使用-
进行拆分。
let str = "2018-12-2417:25:33"
let op = str.match(/^\d{4}-\d{2}-\d{2}/)[0].split('-')
console.log(op);
我假设您要匹配1111-11-11
之类的标准格式,否则可以用此\d+-\d+-\d{1,2}
替换上述正则表达式
答案 1 :(得分:1)
{
"title": "foo",
"body": "bar",
"userId": 1,
"id": 101
}
答案 2 :(得分:1)
该代码按照您的要求工作,假设您以某种方式将日期和时间代码混在一起...因此该时间代码也将包含8个字符。
我将看看您是如何创建此字符串的,您确实应该能够在代码的前面将日期和时间值彼此分开,并避免这种讨厌的攻击。</ p>
$(document).on("change keyup paste click", "#dateTime", function() {
var dateTime = $(this).val();
// Split on '-'
var el = dateTime.split('-');
// Remove the time - we know rimes will always be entered as 'xx:xx:xx' - i.e. 8 characters
el[2] = el[2].substring(0, el[2].length - 8);
// Print to console
$("#dateOutput").text( el );
});
$("#dateTime").click();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>You can test out the function below</p>
<p>Remember that it expects an eight character time string at the end of the string</p>
<input id="dateTime" value="2018-12-2417:25:33">
<p id="dateOutput"></p>
答案 3 :(得分:1)
尝试一下:
var date = '2018-12-2417:25:33'.split(':');
date[0].split('-');
答案 4 :(得分:1)
您可以先将相关部分切成薄片,然后将字符串分成几部分。
var string = '2018-12-2417:25:33',
result = string.slice(0, 10).split('-');
console.log(result);