允许用户输入时间的方法存在困难

时间:2015-04-24 03:41:24

标签: javascript regex

考虑到这一点,用户可以按照下面列出的格式输入字段。最后的时间将被保存并格式化为xx:xx 12小时。我允许用户的灵活性/懒惰,而不是抛出严格的错误。

允许格式

  • 1(1位数)
  • 11(2位数)
  • 11 1(小时和分钟)
  • 11 10(小时和分钟)
  • 1110(小时和分钟,没有空间)

问题

我需要以某种方式获取用户输入的时间

  1. 在需要的地方添加前缀零,这样我得到(xx:xx)

  2. 在小时和分钟之间添加“:”

  3. 为什么我需要专门插入“:”?我需要稍后将小时和分钟保存到单独的变量中,但我需要重新格式化幕后的时间,以便它始终是xx:xx,以可预测的格式表示它意味着我可以使用JavaScript将其拆分为“:”并执行从那里我需要什么。

    我不是在寻找直接的答案而是建议,因为我假设我需要正则表达式。

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

使用替换方法,您可以执行以下操作:

var myRegexp = /(\d{1,2})[ ]?(\d{0,2})/i;
var match = myRegexp.exec(yourString);
var result = match[1];
if(match[1].length == 1)
{
   result = match[1].concat("0");
}
result = result.concat(":");
if(match[2].length != 2)
{
   if(match[2].length == 0){
       result = result.concat("00");
   }
   else{
       result = result.concat(match[1].concat("0"));
   }
}

答案 2 :(得分:0)

我的建议是使用时间选择器来解决所有开销,用户体验也会很棒。您可以在java脚本中使用大量时间选择器控件。

这是一个简单的例子

http://jonthornton.github.io/jquery-timepicker/

我觉得最好使用这些时间选择器控制。