文本框控制输入时分秒的时间格式
2013-03-14 11:11
260 查看
时间格式: 23:59 00:00
文本框
<input type=text id="test" name=test value=""
onpaste="return regInput(this,/^[0-9]*$/,window.clipboardData.getData('Text'));"
onkeypress="return inputNumber(event);" onchange="return isTime(this);" onkeyup='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>
文本框
<input type=text id="test" name=test value=""
onpaste="return regInput(this,/^[0-9]*$/,window.clipboardData.getData('Text'));"
onkeypress="return inputNumber(event);" onchange="return isTime(this);" onkeyup='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>
相关文章推荐
- 文本框控制输入时间格式
- javascript 控制文本框输入格式
- ASCII控制文本框的输入格式
- Javascript控制input输入时间格式的方法
- Javascript控制input输入时间格式的方法
- 文本框中控制只能输入数字,如果粘贴不符合格式,提示重新出入
- java 判断输入的时间格式
- C++输入输出流格式控制[转]
- 对输入框输入的数字进行格式控制,是很实用的效果
- js控制文本框只能输入中文、英文、数字与指定特殊符号
- C# 文本框如何控制只能输入数字?
- 文本框限制输入(半角,全角互转),以及控制输入法问题,解决方法整合
- 在文本框中控制别人输入字数
- 控制文本框只输入正负浮点数
- js控制文本框输入的字符为数字
- js 控制文本框只能输入数字
- JS控制文本框只能输入正整数和两位小数点以内的小数
- hdoj 1073 Online Judge(输入格式控制)
- JSP时间格式的控制、显示
- js验证各种文本框输入格式