时间格式的实验

本文介绍了一个用于验证日期格式正确性的JavaScript脚本。该脚本能够检查用户输入的日期是否符合预设的格式(如 yyyy-MM-dd HH:mm:ss),并通过正则表达式进行匹配测试。此外,还提供了一个示例按钮用于触发验证过程。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
function dateFormat()
{
	var value = document.getElementById("date").value;
	var retValue  = /^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0[13578])|(1[02]))[\-\/\s]?((0[1-9])|([1-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s]?((0[1-9])|([1-2][0-9])|(30)))|(02[\-\/\s]?((0[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0[13578])|(1[02]))[\-\/\s]?((0[1-9])|([1-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s]?((0[1-9])|([1-2][0-9])|(30)))|(02[\-\/\s]?((0[1-9])|(1[0-9])|(2[0-8]))))))(\s((([0-9]|[0-1][0-9]|[2][0-3]))\:([0-9]|[0-5][0-9])(()|(\:([0-9]|[0-5][0-9])))))?$/.test(value);
	if (value != '' && retValue)
	{
		var format = "yyyy-MM-dd HH:mm:ss";
		if (value.length != format.length)
		{
			retValue = false;
		}
		else
		{
		   // 修改问题
		   if (format == "yyyy-MM-dd HH:mm:ss")
		   {
		      format = "yyyy\\\/MM\\\/dd HH:mm:ss";
		   }
			var DateFormatter = {
				Patterns:{
					YEAR      : /y/g,
				    MONTH     : /M/g,
					DAY       : /d/g,
					HOUR      : /H/g,
					MINUTE    : /m/g,
					SECOND    : /s/g,
					MILSECOND : /f/g
				},
				FormatPatterns: function(format){
				    return eval("/"+
				                format
				                	.replace(this.Patterns.YEAR,'[0-9]')
				                	.replace(this.Patterns.MONTH,'[0-9]')
				                	.replace(this.Patterns.DAY,'[0-9]')
				                	.replace(this.Patterns.HOUR,'[0-9]')
				                	.replace(this.Patterns.MINUTE,'[0-9]')
				                	.replace(this.Patterns.SECOND,'[0-9]')
				                	.replace(this.Patterns.MILSECOND,'[0-9]') + "/g");
				}
			};
			var formatReg = DateFormatter.FormatPatterns(format);
			alert(formatReg);
			retValue = formatReg.test(value);
			alert(retValue);
		}
	}
}
function a()
{
	var datetime = document.getElementById('date').value;
	alert(datetime);
}
</script>
</head>

<body>

<input type="text" id="date" />
<p onclick="dateFormat();">点击我</p>

</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值