作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发应用程序。它有一种形式,其中一个字段是时间。用户将以 24 小时格式输入时间。当用户输入 07:40
这样的时间时,它可以正常工作,但当他们输入 7:00
时,它就不行了。所以我想要的是当输入 7:00
时,我想在 7
之前添加 0。 注意我已经从 time 中删除了 :
并将其设置为 700
。现在,如果用户在前面没有输入任何内容,并且如果他们在开头输入数字,那么我想添加前导零,然后保持原样。我怎样才能在javascript中实现这一点?我知道我可以使用正则表达式,但任何示例都会有帮助。
这是我的做法,但似乎不正确,因为它不起作用。
var regex = /^\b(0(?!\b))+/g;
if (!regex.test(time)) {
time = '0' + time;
}
最佳答案
最简单的方法是从已有前缀的字符串中截取最后 n 位数字。如果你想确保你的字符串始终是 4 位数字,你可以这样做:
time = ('0' + time).slice(-4);
假设您知道时间
始终至少为三位数。当然,你当然可以这样写:
time = ('0000' + time).slice(-4);
但这在您的特定用例中可能没有多大意义。
此代码可以在没有任何事先检查的情况下执行,而不仅仅是在表达式匹配的情况下有条件地执行。
关于javascript - 检查前面有零的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13524767/
我是一名优秀的程序员,十分优秀!