1

昨晚我在这里查看了一些关于使用 JavaScript 添加前导零的示例,但我无法让它们中的任何一个用于我的目的。一旦您点击提交按钮,我想对数据执行此操作。它在执行此操作时正在运行一组检查器,这就是我所包含的,但我在测试 php 页面中获取 POST 数据,并且我试图修复的字段显示“未定义”

无论他们输入的是四位数还是五位数,我都需要位数始终为 7。需要添加前导零。不确定我是否接近或偏离目标:

function pad(number, length){
    var str = '' + number;
    while (str.length < length) {
        str = '0' + str;
    }    
}

offidlength = custform.optionaldata10.value.length;

if (offidlength <7) {
    custform.optionaldata10.value = pad(custform.optionaldata10.value, 7);
}
4

2 回答 2

3

你忘了return声明。

return str;

应该在函数的末尾。

编辑功能应如下所示:

function pad(number, length){
    var str = '' + number;
    while (str.length < length) {
       str = '0' + str;
    }
    return str;    
}
于 2013-03-03T15:33:03.077 回答
0

如果你总是想要 7 位数字,你可以让你的表达更简单——

var offid= custform.optionaldata10.value, L= 7-offid.length;
if(L>0) custform.optionaldata10.value= '0000000'.substring(0, L)+offid;
于 2013-03-03T16:30:05.410 回答