表格字段输入数字通过在前面添加零来自动转换为3位数

我正在尝试创建一个表单,用户可以在其中输入页面编号并跳转到由其div ID标识的特定页面。

$(document).ready(function() { $('#gotopage').submit( function() { goUrl = 'index.html#pg-' + $('#pagenumber').val().toLowerCase(); window.location = goUrl; return false; // Prevent the default form behaviour }); });

我可以很好地使用它,除了我以一个3位数的方式命名我的ID,例如:

依此类推。

有没有办法调整我的上述代码,以便我可以告诉它添加相关的零来组成用户输入的任何数字的3位数字?

先感谢您。

您可以像这样为它创建一个函数:

 function padNum(num,length) { length = length || 3;num+=""; while(num.length < length) num="0"+num; return num; } 

例子:

 var newid = padNum(3);//003 var newid = padNum(3,4);//0003 

如果需要,function更短(但不易读)

 function padNum(num,length) { return Array((length||3)-((num+"").length-1)).join("0")+num; } 

注意:未指定时,函数将length参数默认为3

使用此代码:

 function pad (str, max) { return str.length < max ? pad("0" + str, max) : str; } 

输出:

 pad("12", 3); // => "012" 
 var num = $('#pagenumber').val().toLowerCase(); var len = num.length; var result = [0, 0].slice(0, len < 4 ? 3 - len : 0).join('') + num; 

小提琴