Javascript 如何创建一个始终填充到2位数的数字输入?
我有两个Javascript 如何创建一个始终填充到2位数的数字输入?,javascript,html,angularjs,Javascript,Html,Angularjs,我有两个type=“number”元素,我想使用它们让人们在移动应用程序中输入时间值的小时和分钟部分 默认情况下,两个输入元素的值为0,因此它们都显示0。这将导致显示0:0。但是,通常的表示形式是0:00,因此我希望第二个输入显示两位数 此外,如果用户输入的值低于10,我仍然希望输入显示用0填充的数字 我可以想象使用文本输入字段执行此操作的几种方法,但这会产生验证问题。另外,我特别选择了type=“number”,因此当input元素聚焦时,移动操作系统将弹出打开数字输入。您可以将这些代码用于数
type=“number”
元素,我想使用它们让人们在移动应用程序中输入时间值的小时和分钟部分
默认情况下,两个输入元素的值为0
,因此它们都显示0
。这将导致显示0:0
。但是,通常的表示形式是0:00
,因此我希望第二个输入显示两位数
此外,如果用户输入的值低于10,我仍然希望输入显示用0
填充的数字
我可以想象使用文本输入字段执行此操作的几种方法,但这会产生验证问题。另外,我特别选择了
type=“number”
,因此当input
元素聚焦时,移动操作系统将弹出打开数字输入。您可以将这些代码用于数字键盘:-
function pad(n, width, z)
{
z = z || '0';
n = n + '';
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}
pad(10, 4); // 0010
pad(9, 4); // 0009
pad(123, 4); // 0123
怎么样
type=“time”
?@Juhana我不知道它的存在。我必须检查我们所有的部署目标是否支持它。不过谢谢,那不行。我无法将数字输入值设置为字符串。我感谢您的努力,但这些仍然是字符串。我的问题的关键部分不是如何填充数字,而是如何在数字输入HTML元素中实现填充。