表格字段输入数字通过在前面添加零来自动转换为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;
小提琴