/**
* 验证手动输入的日期是否符合yyyymmdd格式
*/
function checkDate()
{
var date=trim(event.srcElement.value);
//允许为空
if(0 == date.length) {
return true;
}
var year,month,day;
//日期格式:yyyymmdd
var datePat = /^(\d{4})(\d{2})(\d{2})$/;
var matchArray = date.match(datePat);
if(matchArray == null)
{
//date + "不符合yyyymmdd日期格式,请修改!";
alert(date + "\u4e0d\u7b26\u5408yyyymmdd\u65e5\u671f\u683c\u5f0f\uff0c\u8bf7\u4fee\u6539\uff01");
event.srcElement.focus();
event.srcElement.select();
return false;
}
year = matchArray[1];
month = matchArray[2];
day = matchArray[3];
if (1900 > year) {
//"年值不能小于1900年,请修改!";
alert("\u5e74\u503c\u4e0d\u80fd\u5c0f\u4e8e1900\u5e74\uff0c\u8bf7\u4fee\u6539\uff01");
event.srcElement.focus();
event.srcElement.select();
return false;
}
if (month < 1 || month > 12)
{
//"月份应为1到12的整数,请修改!"
alert("\u6708\u4efd\u5e94\u4e3a1\u523012\u7684\u6574\u6570\uff0c\u8bf7\u4fee\u6539\uff01");
event.srcElement.focus();
event.srcElement.select();
return false;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31)
{
//month + "月不存在31号,请修改!"
alert(month + "\u6708\u4e0d\u5b58\u572831\u53f7\uff0c\u8bf7\u4fee\u6539\uff01");
event.srcElement.focus();
event.srcElement.select();
return false;
}
if (month==2)
{
var isleap=(year % 4==0 && (year % 100 !=0 || year % 400==0));
if (day>29)
{
//"2月最多有29天,请修改!"
alert("2\u6708\u6700\u591a\u670929\u5929\uff0c\u8bf7\u4fee\u6539\uff01");
event.srcElement.focus();
event.srcElement.select();
return false;
}
if ((day==29) && (!isleap))
{
//"闰年2月才有29天,请修改!"
alert("\u95f0\u5e742\u6708\u624d\u670929\u5929\uff0c\u8bf7\u4fee\u6539\uff01");
event.srcElement.focus();
event.srcElement.select();
return false;
}
}
if (day < 1 || day > 31)
{
//"每个月的天数应该为1到31的整数,请修改!"
alert("\u6bcf\u4e2a\u6708\u7684\u5929\u6570\u5e94\u8be5\u4e3a1\u523031\u7684\u6574\u6570\uff0c\u8bf7\u4fee\u6539\uff01");
event.srcElement.focus();
event.srcElement.select();
return false;
}
return true;
}
jsp
<xmdc:outputText value="移交日期"></xmdc:outputText>
<xmdc:panelGroup>
<xmdc:ccbcalendar
value="#{AddExistDataTransfer.transferBFO.transferDate}"
id="transferDate"></xmdc:ccbcalendar>
<xmdc:outputText value="*" style="color:red;"></xmdc:outputText>
</xmdc:panelGroup>
<xmdc:verbatim>
<script>
document.getElementById("AEDT_account:transferDate_1").onblur = checkDate;
</script>
</xmdc:verbatim>
分享到:
相关推荐
EXCEL中经常遇到YYYYMMDD存储的日期需要转为YYYY-MM-DD格式.
* @param 日期验证,验证的格式有: * "yyyyMM","yyyyMMdd","yyyyMMdd HH:mm:ss", * "yyyy-MM","yyyy-MM-dd","yyyy-MM-dd HH:mm:ss" * "yyyy.MM","yyyy.MM.dd","yyyy.MM.dd HH:mm:ss" * "yyyy/MM","yyyy/MM/dd...
js代码-时间日期格式化为yyyymmdd
日期(YYYYMMDD格式)20201229 日期(YYYY-MM-DD格式)2020/12/29 日期(时间戳格式)1609171200 日期对应年(如2018)2020 日期对应月份(如201801)202012 日期对应周号(自然年中的第几周)53 对应自然周日期2 自然周起始日期...
NULL 博文链接:https://qify.iteye.com/blog/702571
对前端日期进行格式化,用法如下: /** // 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1...
Sql日期时间格式转换,包含了将时间转换为如:2015-05-25的方法
jeDate-YYYYMMDD形式,引入压缩包中的css和js,执行前端代码,点击日期框,出现YYYYMMDD形式的日期选择样式。
function nowtime(){//将当前时间转换成yyyymmdd格式 var mydate = new Date(); var str = "" + mydate.getFullYear(); var mm = mydate.getMonth()+1 if(mydate.getMonth()>9){ str += mm; } else{ str += ...
Windows批处理以yyyymmdd格式打印当前日期 许可证: MIT 版权所有 (c) 2015 by Lita Li 特此授予任何人免费获得本软件副本和相关文档文件(“软件”)的许可,不受限制地处理本软件,包括但不限于使用、复制、修改...
验证日期的正则表达式及其注释(包含闰年验证) yyyy-mm-dd 常用日期格式
将指定的时间转换成需要的格式,需要转换的时间,默认为系统现行时间,需要返回的日期格式,0:YYYYMMDD。1:MMDDYYYY。2:DDMMYYYY。默认为“0”,参数提供错误将返回空文本。