Javascript

regex

// matches format 2h10m or 2h or just 10m
const parse_time_input = (input) => {
    input = input.trim();
    let playtime_mins = 0;
    let time_pattern = /^((?<hours>\d+)h)?\s*((?<minutes>\d+)m)?$/
    let mtch = time_pattern.exec(input);
    if (mtch) {
        if(mtch.groups.hours)
            playtime_mins = playtime_mins + Number(mtch.groups.hours) * 60;
        if(mtch.groups.minutes) {
            playtime_mins = playtime_mins + Number(mtch.groups.minutes);
        }
        HTML.id('time_input_minutes_clean').value = playtime_mins;
    } else {
        warn("Incorrect format; example ussage: 3h20m, 3h, 20m");
    }
    return playtime_mins;
}