Имена функций вводят в заблуждение, они не проверяют значение, они просто форматируют его.
Для форматирования в качестве валюты вы можете использовать Intl.NumberFormat либо с валютой, либо без нее символ. Может использоваться через toLocaleString :
[1, 10000, 1.23e4, 1.2].forEach(v => console.log(
// With currency a symbol
v + ' -> ' + v.toLocaleString('en',{style: 'currency', currency: 'JPY'}) + '\n' +
// As number
v + ' -> ' + v.toLocaleString('en',{minimumFractionDigits: 2, maximumFractionDigits: 2})
)
);
Чтобы отформатировать необходимое время, достаточно просто использовать строковые методы:
function formatTime(v) {
v = String(v).replace(/\D/g,'').padStart(2, '0').padEnd(4, '0');
return v.substring(0,2) + ':' + v.substring(2,4);
}
['1','01','0101','010203','foobar', NaN].forEach(s => console.log(s + ' -> ' + formatTime(s)));