怎样用JavaScript判断一个字符串是否为日期型字符串

xbxue 2003-07-04 04:01:07
怎样用JavaScript判断一个字符串是否为日期型字符串
...全文
112 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gq 2003-07-04
  • 打赏
  • 举报
回复
function isdate(strDate){
var strSeparator = "-"; //日期分隔符
var strDateArray;
var intYear;
var intMonth;
var intDay;
var boolLeapYear;

strDateArray = strDate.split(strSeparator);

if(strDateArray.length!=3) return "false";

intYear = parseInt(strDateArray[0],10);
intMonth = parseInt(strDateArray[1],10);
intDay = parseInt(strDateArray[2],10);

if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) return "false";

if(intMonth>12||intMonth<1) return "false";

if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay>31||intDay<1)) return "false";

if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30||intDay<1)) return "false";

if(intMonth==2){
if(intDay<1) return "false";

boolLeapYear = false;
if((intYear%100)==0){
if((intYear%400)==0) boolLeapYear = true;
}
else{
if((intYear%4)==0) boolLeapYear = true;
}

if(boolLeapYear){
if(intDay>29) return "false";
}
else{
if(intDay>28) return "false";
}
}

return "true";
}

//自动增加'-'用于日期input输入框
function add_sign(field) {
if (field.value.length==4){
field.value= field.value+"-"
}
if (field.value.length==7){
field.value = field.value+"-"
}
if (field.value.length==10 ){
if (isdate(field.value)=="false"){
field.value ="";
field.focus();
window.alert ("日期格式不对!(YYYY-MM-DD)");
}
if (isdate(field.value)!="false"){
getNextElement(field).focus();
}
}
}
//自动跳转到下一个输入框
function getNextElement (field) {
var form = field.form;
for (var e = 0; e < form.elements.length; e++)
if (field == form.elements[e])
break;
return form.elements[++e % form.elements.length];
}
fason 2003-07-04
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1490/1490929.xml?temp=.9921839

<script language="JavaScript">
<!--
function CheckDate(str){//1998-12-12
var reg = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
r[2]=r[2]-1;
var d= new Date(r[1], r[2],r[3]);
if(d.getFullYear()!=r[1])return false;
if(d.getMonth()!=r[2])return false;
if(d.getDate()!=r[3])return false;
return true;
}
alert(CheckDate("1998-12-12"))
//-->
</script>
fason 2003-07-04
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1490/1490929.xml?temp=.9921839

<script language="JavaScript">
<!--
function CheckDate(str){//1998-12-12
var reg = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
r[2]=r[2]-1;
var d= new Date(r[1], r[2],r[3]);
if(d.getFullYear()!=r[1])return false;
if(d.getMonth()!=r[2])return false;
if(d.getDate()!=r[3])return false;
return true;
}
alert(CheckDate("1998-12-12"))
//-->
</script>
内容概要:本文介绍了基于贝叶斯优化的CNN-LSTM混合神经网络在时间序列预测中的应用,并提供了完整的Matlab代码实现。该模结合了卷积神经网络(CNN)在特征提取方面的优势与长短期记忆网络(LSTM)在处理时序依赖问题上的强大能力,形成一种高效的混合预测架构。通过贝叶斯优化算法自动调参,提升了模的预测精度与泛化能力,适用于风电、光伏、负荷、交通流等多种复杂非线性系统的预测任务。文中还展示了模训练流程、参数优化机制及实际预测效果分析,突出其在科研与工程应用中的实用性。; 适合人群:具备一定机器学习基基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)础和Matlab编程经验的高校研究生、科研人员及从事预测建模的工程技术人员,尤其适合关注深度学习与智能优化算法结合应用的研究者。; 使用场景及目标:①解决各类时间序列预测问题,如能源出力预测、电力负荷预测、环境数据预测等;②学习如何将CNN-LSTM模与贝叶斯优化相结合,提升模性能;③掌握Matlab环境下深度学习模搭建与超参数自动优化的技术路线。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注贝叶斯优化模块与混合神经网络结构的设计逻辑,通过调整数据集和参数加深对模工作机制的理解,同时可将其框架迁移至其他预测场景中验证效果。

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧