强制用户以mm/dd/yyyy hh:mm:ss am/pm格式按角度输入日期时间



我正在创建指令,该指令屏蔽输入字段以输入MM-DD-YYYY HH:MM:SS am/PM。到目前为止,我可以屏蔽MM/DD/YYYY,但无法添加时间屏蔽。请帮忙。

transform(value) {
if (value) {
let text: string = value;
if (text.match(/^d/gi) != null) {
// Removing all alphabets if string starting with zero
text = text.replace(/[a-z]/gi, "");
}
if (text.match(/^N/gi) != null) {
return text.replace(/^Nd$/gi, "N").replace(/(?!n|a)[a-z]/gi, "");
}
return text
.replace(/^(d{2})$/g, "$1/") // To put a '/' after MM/
.replace(/^(d{2}/d{2})$/g, "$1/") // To put a '/' after MM/DD/
.replace(/^(d{2}/d{2}/d{4})$/g, "$1 ") // To put a '/' after MM/DD/
.replace(/^(d{2}/d{2}/d{5}/d{2})$/g, "$1:")
// need replace regex for hh:mm:ss am/pm Please help

} else {
return '';
}
}

这会容易得多。

function transform(input) {
const date = new Date(input.replace(" ", "T"));
return date.toLocaleString('en-GB');
} 
const input = "2022-12-12 12:12:12";
console.log(transform(input));

最新更新