怎样才能让文本框<input>只能输入时间日期(2006-12-25 9:24:11)?
楼主chenhanwei(一分)2006-12-25 09:44:21 在 Web 开发 / ASP 提问
怎样才能让文本框<input>只能输入时间日期(2006-12-25 9:24:11)?
如果输入不正确,给出提示,并返回。
问题点数:20、回复次数:14Top
1 楼shiliangdong(Stou)回复于 2006-12-25 10:02:51 得分 0
datestring="2006-12-25 09:12:35";
var re=/^(\d{4}-\d{1,2}-\d{1,2})(\s?\d{2}:\d{2}:\d{2})?$/
alert(re.test(datestring));
Top
2 楼chenhanwei(一分)回复于 2006-12-25 10:07:11 得分 0
2006-12-25 09:12:35是事例
我是说
就是这种样式的Top
3 楼cow8063(天涯远不远?不远!人在天涯,天涯怎会远)回复于 2006-12-25 10:13:27 得分 0
在onkeypress事件中加上一楼的Top
4 楼chenhanwei(一分)回复于 2006-12-25 10:23:11 得分 0
<input name="time" onkeypress="datestring="2006-12-25 09:12:35";var re=/^(\d{4}-\d{1,2}-\d{1,2})(\s?\d{2}:\d{2}:\d{2})?$/ alert(re.test(datestring));" />
好像没有效果
输入“中文汉字”还是可以!Top
5 楼chenhanwei(一分)回复于 2006-12-25 10:37:06 得分 0
我都不需要检查它的有效性
只要格式正确就OKTop
6 楼quweiie(小威)回复于 2006-12-25 10:49:45 得分 0
<input type="text" name="sdate" value="<%=Now()%>" readOnly>Top
7 楼xuStanly(依依myLove)回复于 2006-12-25 11:16:21 得分 0
何必呢?下个梅版主的日历控件不很好吗?Top
8 楼cow8063(天涯远不远?不远!人在天涯,天涯怎会远)回复于 2006-12-25 11:53:39 得分 0
// 本函数用于限制文本中输入框中只能输入日期格式
function IsDate(DateString , Dilimeter)
{
if ((DateString ==null) || (DateString =="")) return true ;
if (Dilimeter=='' || Dilimeter==null)
Dilimeter = '-';
var tempy='';
var tempm='';
var tempd='';
var tempArray;
if (DateString.length<8 && DateString.length>10)
return false;
tempArray = DateString.split(Dilimeter);
if (tempArray.length!=3)
return false;
if (tempArray[0].length!=4)
{
return false;
} else if(tempArray[1].length!=2)
{
return false;
}else if(tempArray[2].length!=2)
{
return false;
}else
{
tempy = tempArray[0];
tempd = tempArray[2];
tempm = tempArray[1];
}
var tDateString = tempy + '/'+tempm + '/'+tempd +' 8:0:0';//加八小时是因为我们处于东八区
var tempDate = new Date(tDateString);
if (isNaN(tempDate))
return false;
//alert(((tempDate.getUTCFullYear()).toString()+">>>"+tempy+">>>"+tempDate.getDate()).toString()+">>>"+(parseInt(tempd,10)).toString()+">>>"+(tempDate.getMonth()).toString()+">>>"+(parseInt(tempm,10)-1).toString());
if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==parseInt(tempm,10)-1) && (tempDate.getDate()==parseInt(tempd,10)))
{
return true;
}
else
{
return false;
}
}
<input onkeypress="return IsDate(this.value,'-');">Top
9 楼chenhanwei(一分)回复于 2006-12-25 12:10:39 得分 0
还是没有用Top
10 楼yongfa365(http://www.yongfa365.com)回复于 2006-12-25 12:33:19 得分 0
<script>
//日期检测
//http://hi.baidu.com/yongfa365
function checkdate()
{
var re=/^(\d{4}-\d{1,2}-\d{1,2})(\s?\d{2}:\d{2}:\d{2})?$/;
if (!re.test(time.value))
{
alert("格式不对");
time.focus();
}
}
</script>
<input name="time" onblur="checkdate()" />格式:2006-12-25 09:12:35Top
11 楼yongfa365(http://www.yongfa365.com)回复于 2006-12-25 12:35:33 得分 0
楼楼楼楼楼上,好像都对了,只是楼主不会用,我改了一下,输入内容点其它地方看看Top
12 楼chenhanwei(一分)回复于 2006-12-25 12:49:19 得分 0
TO:yongfa365(http://hi.baidu.com/yongfa365
你说的应该是:
<script>
//日期检测
//http://hi.baidu.com/yongfa365
function checkdate()
{
var re=/^(\d{4}-\d{1,2}-\d{1,2})(\s?\d{2}:\d{2}:\d{2})?$/;
if (!re.test(time.value))
{
alert("格式不对");
time.focus();
}
}
</script>
<form name="test">
<input name="time" onblur="checkdate()" />格式:2006-12-25 09:12:35
</form>
吧Top
13 楼chenhanwei(一分)回复于 2006-12-25 12:51:50 得分 0
不过还是不对Top
14 楼xulxqqqq()回复于 2006-12-25 13:37:29 得分 0
你可以做成这样啊 ____-__-__ __:__:__下划线代表input 这样只要对每一个的size做一个限制 并且丢弃输入的非数字字符就可以啦
提交的时候把它们再连成一个串Top
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |








网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)