Валидация для Input со значениями для часов и минут
Привет, написал небольшую функцию для валидации чисел, где должны быть только часы и минуты:
// max может быть 12, 24 или 59 // соответственно числа могут быть в пределах 1-12, 00-24, 00-59 function validateTime( el, max ) { var _max = String( max ), _pos = el.selectionStart; // пропускаем только числа от 0 до 9 el.value = el.value.replace( /[^0-9]+/g, '' ); var next = el.nextElementSibling; if( el.value[0] ) { if( _pos === 1 ) { el.value = el.value[0]; } // запрещаем ввод более 2 чисел if( el.value.length > 2 ) { el.value = el.value.slice( 0, -1 ); } if( el.hasAttribute( 'data-hour' ) && ( el.value[1] === '0' && el.value[0] === '0' ) ) { el.value = el.value.slice( 0, -1 ); return; } // если в поле первое число больше первого числа из максимального, фокус на следующий input в dom дереве if( el.value[0] > _max[0] || _pos == 2 ) { if( next.nodeName === 'INPUT' ) { next.focus(); next.setSelectionRange(0, 0); } } } if ( el.value > max ) { el.value = max; } } Смотрю, и думаю, есть ли что-то более короткое и адекватное? А то кажется бредом несусветным. |
Янковиц,
:-? |
Часовой пояс GMT +3, время: 00:24. |