时间格式: 23:59 00:00
文本框
<input type=text id="test" name=test value=""
οnpaste="return regInput(this,/^[0-9]*$/,window.clipboardData.getData('Text'));"
οnkeypress="return inputNumber(event);" οnchange="return isTime(this);" οnkeyup='verify(this);'>
<script type="text/javascript" language="javascript">
<!--
//验证粘贴的内容
function regInput(obj, reg, inputStr)
{
var docSel = document.selection.createRange()
if (docSel.parentElement().tagName != "INPUT") return false
oSel = docSel.duplicate()
oSel.text = ""
var srcRange = obj.createTextRange()
oSel.setEndPoint("StartToStart", srcRange)
var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)
return reg.test(str)
}
//格式化时间格式
function verify(text){
var hour;
var minute;
var tmp;
var index;
var textValue = text.value;
if(textValue.length > 1){ //当长度超过1时,进行处理
hour = textValue.substr(0,2); //取前两位数字,即小时
if(isNaN(hour)){//不是数字
text.value = '00';
return;
}
if(hour < 24){ //10<x<24
text.value = hour + ':';//显示小时
index = textValue.indexOf(':'); //定位冒号
minute = index > 0 ? textValue.substr(index + 1,2) : textValue.substr(2,2);
if(isNaN(minute)){//不是数字
text.value = hour + ':00';
return;
}
if(minute < 59){
tmp = hour + ':' + minute;
}else{
tmp = hour + ':59';
}
}else{ //x>=24
hour = '0' + textValue.substr(0,1);
text.value = hour + ':' + text.value.substr(1,1);
index = textValue.indexOf(':');
minute = index > 0 ? textValue.substr(index + 1,2) : textValue.substr(1,2);
if(isNaN(minute)){//不是数字
text.value = hour + ':00';
return;
}
if(minute < 59){
tmp = hour + ':' + minute;
}else{
tmp = hour + ':59';
}
}
text.value = tmp;//输入“小时:分钟”格式
}
}
//控制键盘的按键,只能输入数字
function inputNumber(e){
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode
}else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which
}
keychar = String.fromCharCode(keynum);
return !isNaN(keychar);
}
//验证是否为时间格式
function isTime(obj){
if(obj.value.match(/^([0-2][0-3]):([0-5][0-9])$/)){
obj.value="";
}
}
//-->
</SCRIPT>