kom*_*it1 2 javascript validation date
根据http://www.codingforums.com/archive/index.php/t-98569.html,可以使用javascript的日期对象完成日期验证.
我有一个类似的场景,我有单独的年,月,日期在单独的文本框中,通过正则表达式验证.现在我想利用JS的日期对象来检查像一个月的日子和闰年验证这样的东西不是通过RegExp验证完成的.但上面链接中讨论的内容对我来说并不适用.例如,
<script type="text/javascript">
var dy= new Date(2001,2,30);
alert(dy.getFullYear()+" "+dy.getMonth()+" "+dy.getDate());
</script>
Run Code Online (Sandbox Code Playgroud)
按原样返回日期.难道dy.getMonth()不应该返回-1这样的东西来表明2月份不存在30天吗?如果使用Date对象无法做到这一点,请提供一些替代方法来验证日期.
更新:我刚刚发现了另一个链接(http://internotredici.com/article/checkdateinjavascript/).PS:我正在研究JS1.2,它已经很老了.
您可以从日,月,年位开始生成日期,然后检查这些位是否正确.
function isvalid_mdy(s){
var day, A= s.split(/\D+/).map(function(itm,i){return parseInt(itm,10)});
A[0]-=1;
try{
day= new Date(A[2], A[0], A[1]);
if(day.getMonth()== A[0] && day.getDate()== A[1]) return day;
throw new Error('Bad Date ');
}
catch(er){
return er.message;
}
}
function isvalid_dmy(s){
var day, A= s.split(/\D+/).map(function(itm,i){return parseInt(itm,10)});
A[1]-=1;
try{
day= new Date(A[2], A[1], A[0]);
if(day.getMonth()== A[1] && day.getDate()== A[0]) return day;
throw new Error('Bad Date ');
}
catch(er){
return er.message;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6598 次 |
最近记录: |