Javascript 24小时自动正则表达式

Javascript 24小时自动正则表达式,javascript,html,Javascript,Html,这是我的代码: let input=document.getElementById('f2f11c3'); input.addEventListener('input',addcommas,false); 函数addcommas(){ var v=document.getElementById('f2f11c3'); var t=v.value.replace(/\D/g'); 变量i,温度=“”; 对于(i=t.length;i>=0;i-=2){ 如果(i==t.length){ 温度=t

这是我的代码:

let input=document.getElementById('f2f11c3');
input.addEventListener('input',addcommas,false);
函数addcommas(){
var v=document.getElementById('f2f11c3');
var t=v.value.replace(/\D/g');
变量i,温度=“”;
对于(i=t.length;i>=0;i-=2){
如果(i==t.length){
温度=t.子串(i-2,i);
}否则{
if(t.子串(i-2,i)!=“”)
温度=t.子串(i-2,i)+':'+温度;
}
if(i<0){
温度=t.子串(0,i+2)+':'+温度;
打破
}
}
v、 数值=温度;
}
简短回答

  • 拿绳子
  • 分开
  • 使用模运算符得到结果
范例

var time=“24:70:65”;//假设这次我们有
var parts=time.split(“:”);//将时间分为:
风险值第1部分=(+部分[0]%24)
var第2部分=(+部分[1]%60)
var第3部分=(+部分[2]%60)
//现在要得到两位数的答案,您可以
第1部分=(“0”+第1部分).slice(-2);
第2部分=(“0”+第2部分).slice(-2);
第三部分=(“0”+第三部分).slice(-2);
log(`${part1}:${part2}:${part3}`)
简短回答

  • 拿绳子
  • 分开
  • 使用模运算符得到结果
范例

var time=“24:70:65”;//假设这次我们有
var parts=time.split(“:”);//将时间分为:
风险值第1部分=(+部分[0]%24)
var第2部分=(+部分[1]%60)
var第3部分=(+部分[2]%60)
//现在要得到两位数的答案,您可以
第1部分=(“0”+第1部分).slice(-2);
第2部分=(“0”+第2部分).slice(-2);
第三部分=(“0”+第三部分).slice(-2);


log(`${part1}:${part2}:${part3}`)
是否仅使用正则表达式?我不这么认为。为什么你只想用正则表达式呢?这是可能的,但比使用基本算术要复杂得多。我想这会使我的工作更容易@VLAZ@evolutionxbox首先,提供格式I wantRegex非常适合于格式检查,而不是算术。坚持只使用正则表达式不会让你的工作更容易。只使用正则表达式?我不这么认为。为什么你只想用正则表达式呢?这是可能的,但比使用基本算术要复杂得多。我想这会使我的工作更容易@VLAZ@evolutionxbox首先,提供格式I wantRegex非常适合于格式检查,而不是算术。坚持只使用正则表达式并不会让你的工作变得更容易。这只是一个你可以相应应用的逻辑。根据我的理解,如果您需要其他感兴趣的东西,请告诉我您想要这个,但这不是我要找的。自动输入的前两位数字不会大于23,如果输入,将舍入为23。对于59,其他2个家庭将是相同的。因此,如果用户输入的数字超过24,您可以使用此逻辑只需执行
%24
,对于两位数,您可以使用填充。用户输入的数字不应超过23和59。我将要使用的地方是我需要在多少小时、分钟和秒后向用户显示警报的地方。您只能输入数字,总共可以输入6个数字,并将其分组为2个数字。这只是您可以相应应用的逻辑。根据我的理解,如果您需要其他感兴趣的东西,请告诉我您想要这个,但这不是我要找的。自动输入的前两位数字不会大于23,如果输入,将舍入为23。对于59,其他2个家庭将是相同的。因此,如果用户输入的数字超过24,您可以使用此逻辑只需执行
%24
,对于两位数,您可以使用填充。用户输入的数字不应超过23和59。我将要使用的地方是我需要在多少小时、分钟和秒后向用户显示警报的地方。您只能输入数字,总共可以输入6个数字,并按2个数字分组。