gpt4 book ai didi

javascript - 如何在时间符号中自动插入前导零

转载 作者:行者123 更新时间:2023-11-29 11:01:32 26 4
gpt4 key购买 nike

以下代码检查用户是否在文本框中插入了正确的时间符号。如果符号不正确,将显示一个警告框。

如果忘记前导零(即 7:45 is 07:45),它还会显示警报

function validateThis(e){
//INPUT VALIDATION
var regexp = /([01][0-9]|[02][0-3]):[0-5][0-9]/; //CORRECT TIME FORMAT
var correct = (e.value.search(regexp) >= 0) ? true : alert('Enter time as hh:mm (13:25)');
}

我的问题是,如果忘记了而不是通知用户,我该如何自动插入前导零

最佳答案

您可以将数字(如果是字符串,将其转换为数字)与 10 进行比较,如果小于 10,则添加零,否则,保持原样:

注意:您可以只在冒号处拆分字符串并检查有效性,不需要正则表达式。

function leadZero(n) {
n = +n; // +n in case of string, +n converts it to a number
return n < 10 ? "0" + n : n;
}

function validateThis(e) {
var hhmm = e.value.split(':'); // split into hh, mm
// if there are two values (hh, mm) and
// 0<=hh<=23 and 0<=mm<=59 => correct time
if (hhmm.length === 2 && (+hhmm[0]>=0 && 23>=+hhmm[0]) && (+hhmm[1]>=0 && 59>=+hhmm[1])) { // valid date
var correct = true;
// add leading zeros
// fix hour fix minute
var newTime = leadZero(hhmm[0]) + ':' + leadZero(hhmm[1]);
console.log(newTime);
} else {
alert('Enter a valid time only');
}
}
<input type="text" onchange="validateThis(this)">

关于javascript - 如何在时间符号中自动插入前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46140338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com