Formatieren einer Zahl zu Zeit gerne hh:mm

Habe ich ein iput-Feld:

<input type="text" name="time" class="time" value="3" />

Muss ich, dass der Wert zu sein, wie 03:00 Uhr

Mehr Beispiele für das, was ich brauche:

1 = 01:00
12 = 12:00
12:2 = 12:20
2:2 = 02:20
02:2 = 02:20
340 = 340:00
340:1 = 340:10

Wissen Sie den rest. Wie kann ich dies lösen, in jquery/javascript?

Dies ist, was ich versuche in jQuery:

$('input').blur(timeFormat);

function timeFormat(e){
    skjema.find('input.tid').each(function(){
        if($(this).val().length != 0){
            var tid = $(this).val().toString();

            if(tid.length == 1){

                $(this).val(String("0" + tid));

            }
            if(tid.indexOf(':') == -1){
                $(this).val(tid.toString() + ':00');
            }
        }
    });
}

Dies ist, was habe ich jetzt gemacht und es macht den job, aber es ist etwas sperrig 🙂

function timeFormat(e){
    skjema.find('input.tid').each(function(){
        if($(this).val().length != 0){
            var tid = $(this).val().toString();
            tid = (tid.length == 1) ? '0' + tid : tid;
            tid = (tid.indexOf(':') == -1) ? tid + ':00' : tid;
            if(tid.indexOf(':') != -1){
                var arr = tid.split(':');
                var before = arr[0].toString();
                var after = arr[1].toString();
                before = (before.length == 0) ? '00' : before;
                before = (before.length == 1) ? '0' + before : before;
                after = (after.length == 0) ? '00' : after;
                after = (after.length == 1) ? after + '0' : after;
                console.log('before: ' + before + ' After: ' + after);
                tid = before + ':' + after;
            }
        }
        $(this).val(tid);
    });
}
  • Sie den code vergessen...
InformationsquelleAutor BennyLava | 2012-10-24
Schreibe einen Kommentar