Как проверить с помощью Javascript вводимый текст с часами и минутами

Не то, чтобы производительность обычно имеет значение с 99% времен, необходимо сделать это, но если бы необходимо было сделать это в цикле несколько миллионов раз, то я высоко предложил бы, чтобы Вы использовали.Equals или ==, потому что, как только это находит символ, который не соответствует ему, выводит все это как ложь, но если Вы используете CompareTo, это должно будет выяснить, который символ является меньше, чем другой, ведя к немного худшему времени производительности.

, Если бы Ваше приложение будет работать в разных странах, я рекомендовал бы, чтобы Вы смотрели на последствия CultureInfo и возможно использовали.Equals. Так как я только действительно пишу приложения для США (и не заботьтесь, не работают ли они правильно кем-то), я всегда просто использую ==.

25
задан systempuntoout 6 April 2011 в 08:23
поделиться

3 ответа

<HTML>
<Head>
<script language="javascript">
function validateTime(obj)
{
    var timeValue = obj.value;
    if(timeValue == "" || timeValue.indexOf(":")<0)
    {
        alert("Invalid Time format");
        return false;
    }
    else
    {
        var sHours = timeValue.split(':')[0];
        var sMinutes = timeValue.split(':')[1];

        if(sHours == "" || isNaN(sHours) || parseInt(sHours)>23)
        {
            alert("Invalid Time format");
            return false;
        }
        else if(parseInt(sHours) == 0)
            sHours = "00";
        else if (sHours <10)
            sHours = "0"+sHours;

        if(sMinutes == "" || isNaN(sMinutes) || parseInt(sMinutes)>59)
        {
            alert("Invalid Time format");
            return false;
        }
        else if(parseInt(sMinutes) == 0)
            sMinutes = "00";
        else if (sMinutes <10)
            sMinutes = "0"+sMinutes;    

        obj.value = sHours + ":" + sMinutes;        
    }

    return true;    
}


</script>
</Head>
<Body>
<input type="text" onblur="validateTime(this)">
</Body>
</HTML>
7
ответ дан 28 November 2019 в 17:52
поделиться

Как насчет

function validTime(inputStr) {
    if (!inputStr || inputStr.length<1) {return false;}
    var time = inputStr.split(':');
    return time.length === 2 
           && parseInt(time[0],10)>=0 
           && parseInt(time[0],10)<=23 
           && parseInt(time[1],10)>=0 
           && parseInt(time[1],10)<=59;
}
2
ответ дан 28 November 2019 в 17:52
поделиться

Вы можете использовать что-то вроде jQuery.maskedit

.
1
ответ дан 28 November 2019 в 17:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: