【问题标题】:Input field for time in mm:ss.msms formatmm:ss.msms 格式的时间输入字段
【发布时间】:2019-03-27 03:06:20
【问题描述】:

我正在寻找一种方法,让输入字段在文本框或其他内容中以 mm::ss::msms 格式将时间作为字符串。

<input type="time"> 

没有做到这一点,因为没有毫秒并且包含不需要的 AM 和 PM 信息。

编辑:ms 表示毫秒,不确定它的 alpha 缩写是什么

【问题讨论】:

  • msms 表示什么?如果是毫秒,那么通常的符号是 fff(因为它是一个 3 位值),或 v(PHP 的 date 函数)或 %OS(POSIX 日期格式)。
  • @Dai 哈哈哎呀,一整天都在用C++,脑子里想都没想就想到了::。我的意思是只有一个冒号。
  • 在毫秒之前使用点 . 也是标准约定,而不是冒号。
  • @Dai msms 表示毫秒,我不确定它的标准表示法是什么

标签: javascript html input time


【解决方案1】:

HTML5 的 &lt;input type="time"&gt; 输入适用于时间值,而不是一般的时间跨度值。

您会想要恢复使用 &lt;input type="text"&gt;,但使用 pattern="" 值将其限制为您想要的格式,这可能是(从 https://www.regextester.com/93907 窃取的正则表达式):

<input type="text" pattern="^[0-5][0-9]\:[0-5][0-9]\.[0-9]{1,3}$" />

请注意,这个正则表达式并不完美,它允许像 0012 这样的毫秒值,这取决于您的上游逻辑可能会或可能不会无效。

【讨论】:

  • 完美,正是我想要的。谢谢!在这样的 html 标签中使用正则表达式时,我应该注意什么性能问题?还是根本没有影响?
  • @user3019373 pattern 表达式仅在表单提交期间进行评估。例如,它不像 WinForms MaskedTextBox 那样“交互”。并且不要忘记执行服务器端验证!
猜你喜欢
  • 2018-05-07
  • 2020-02-07
  • 2014-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多