Допустим есть строка с временем, например 1234
, по какой-то причине она не разделена, привычным нам, двоеточием.
Мы знаем, что двоеточие будет по середине, после первых двух символов.
Можно ли как-то вставить туда двоеточие средствами JQ?
В голову приходит только такой вариант:
var str = '1234'; // Строка
// Далее как бы делим строку пополам
var strFirst = str.slice(0,-2); //Первые два символа
var strLast = str.slice(-2); // Последние два символа
// Ну а потом соединяем с двоеточием
str = strFirst+':'+strLast;
console.info(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Может есть не велосипед?
{ // Array.splice
let a = '1234'.split('');
a.splice(2, 0, ':');
console.log('splice', a.join(''));
}
{ // regexp
let a = '1234'.match(/\d{2}/g).join(':');
console.log('regexp', a);
}
{
// String.splice
if (!String.prototype.splice) { // polyfill
String.prototype.splice = function(index, del, ...chars) {
return this.slice(0, index) + chars.join('') + this.slice(index + Math.abs(del));
};
}
console.log('splice', '1234'.splice(2, 0, ':'));
console.log('splice', '315'.splice(-2, 0, ':'));
}
Ещё вот так можно:
function addColon(string) {
if (string.length % 2 !== 0)
return false;
return string.substr(0, string.length/2) + ':' + string.substr(string.length/2);
}
console.log(addColon("123415"));
console.log(addColon("1234"));
Хорошим вариантом будет использование библиотеки moment.js. + она позволит вам легко делать любые операции с временем и датой.(пригодится в любом проекте где есть монипуляции с датой и временем).
Вот Решение вашей задачи с использованием этой библиотеки:
const moment = require('moment');
const data = moment(1234, 'HHmm').format('HH:mm');
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Охота зашифровать сообщение в AES256Допустим есть ключ и есть сообщение
Ковыряю один проект на vs 2012Так вот хочу кое-что дописать, но js интерпретатор не понимает директиву let
как сделать, чтобы каждый инпут был над своим ползунком и перемещался вместе с ним?