JS验证时间格式
现在我有个文本框只能输入的时间格式为:8:30或09:30或17:30
如何对文本框的内容进行验证输入的格式是否正确,如果输入的是非数字也要进行验证的,坐等大神!!!
[解决办法]
<input type="text" id="time" onchange="vTime(this.value);" /><script type="text/javascript">function vTime(s) { var ar = s.split(':'), FLAG = true; if (ar.length != 2) FLAG = false; else { if (!/^[\d]+$/.test(ar[0]) || !/^[\d]+$/.test(ar[1])) FLAG = false; else { if (parseInt(ar[0]) < 0 || parseInt(ar[0]) > 23 || parseInt(ar[1]) < 0 || parseInt(ar[1]) > 59) FLAG = false; } } if (!FLAG) { alert('时间格式有误'); return false; }}</script>
[解决办法]
var reg=/^([01]?[0-9]|2[0-4]):[0-6][0-9]$/;
var a="8:30";
alert(reg.test(a));
a="09:30";
alert(reg.test(a));
a="17:30";
alert(reg.test(a));
这样试试看可以不
[解决办法]
var data = [ '9:45', '19:45', '0:0', '9:55', '09:55', '25:00', '24:00', '23:60', '23:59', '18:59'];var re = /^(?:0?\d|1\d|2[123]):[012345]?\d$/;for(var i = 0, len = data.length; i < len; i++){ document.write( data[i] + ' ------------ '+ re.test(data[i]) + '<br />' )}
[解决办法]
^(?:[01]?\d|2[0-3]):(?:[0-5]?\d)$