1

昨夜、JavaScript で先行ゼロを追加するいくつかの例をここで調べましたが、それらのいずれも私の目的のために機能させることができませんでした。送信ボタンを押したら、データでこれを行いたいと思います。これを行うときに一連のチェッカーを実行していますが、これは私が含めたものですが、テストphpページでPOSTデータを取得し、修正しようとしているフィールドに「未定義」と表示されます

入力した数字が 4 桁であるか 5 桁であるかに関係なく、桁数は常に 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 に答える