通过正则表达式验证日期

在JavaScript中使用正则表达式主要是通过正则表达式对象实现的

re=/pattern/[flags]
re:必选参数,将要赋值为正则表达式模式的变量名
pattern:必选参数,要使用的正则表达式模式,以"/"开头和结尾
flags:可选参数,用于指定匹配的标记,常用的标记有g,I,m

利用正则表达式编写验证日期的JavaScript函数

function CheckDate(str){
	var Expression=/^((((1[6-9]|[2-9]\d)\d{2})(\/|\-)(0?[13578]|1[02])(\/|\-)(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})(\/|\-)(0?[13456789]|1[012])(\/|\-)(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})(\/|\-)0?2(\/|\-)(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/; 
	var objExp=new RegExp(Expression);
	if(objExp.test(str)==true){
		return true;
	}else{
		return false;
	}
}

在这里插入图片描述在这里插入图片描述

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title>通过正则表达式验证日期</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<script language="javascript"> 
	
	function CheckDate(str){
		var Expression=/^((((1[6-9]|[2-9]\d)\d{2})(\/|\-)(0?[13578]|1[02])(\/|\-)(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})(\/|\-)(0?[13456789]|1[012])(\/|\-)(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})(\/|\-)0?2(\/|\-)(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/; 
		var objExp=new RegExp(Expression);
		if(objExp.test(str)==true){
			return true;
		}else{
			return false;
		}
	}
	
	function check(){
		var mydate = document.getElementById("mydate"); //获得日期文本框对象 
		if(mydate.value==""){							//判断输入的日期是否为空
			alert("请输入日期!");
			mydate.focus();								//使文本框获得焦点
			return;
		}		
		if(!CheckDate(mydate.value)){					//验证日期格式是否正确 
			alert("您输入的日期不正确,请注意日期格式!");
			mydate.focus();
			return;
		}
		document.getElementById("dateForm").submit();	
	}
	</script>
	<style type="text/css">
		table{
			font-size: 13px;
			font-family: 楷体;
			color:navy;
			border: 1px solid;
			border-color: olive;
		}
		input{
			font-size: 13px;
			font-family: 楷体;
			color:navy;
		}
		font{
			font-size: 12px;
			font-family: 楷体;
			color:orangered;
		}
	</style>
  </head>
  
  <body>
   <form action="" id="dateForm">
   	<table>
   		<tr>
   			<td>请输入日期:</td>
   			<td>
   				<input type="text" name="mydate" id="mydate">
   				<font>
   					格式为:2010/06/17或2010-06-17
   				</font>
   			</td>
   		</tr>
   		<tr>
   			<td align="center" colspan="2">
   				<input type="button" value="验 证" onclick="check()">
   				
   			</td>
   		</tr>
   	</table>
   </form>
  </body>
</html>

猜你喜欢

转载自blog.csdn.net/weixin_44234912/article/details/88800436