怎样检查输入框中的内容是否为日期型?

honey637 2002-11-22 04:23:01
怎样检查输入框中的内容是否为日期型?
...全文
36 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
treeClimber 2002-11-23
  • 打赏
  • 举报
回复
总之不会像java那样有现成的日期的函数,的自己编写,将数据拆开来自己验证。
colee 2002-11-22
  • 打赏
  • 举报
回复
up3
nice90 2002-11-22
  • 打赏
  • 举报
回复
限定形式: 2002-11-21,
这样依据长度、“-”的位置,“-”位置前后的数据长度和数值的大小来测定。
在vbscript中有split函数可以拆分以特定字符分割的字符串,这里是使用“-”来分割的。然后可以使用结果数组来检查长度和大小。这样可以达到你所需要的要求。
JK_10000 2002-11-22
  • 打赏
  • 举报
回复
<input onblur="checkDateInput(this);">测试用例:2002.3.6 2002.2.29 2002.2.36 fdsa
<script>

function checkDateInput(obj) //用于检查日期输入是否正确 (日期输入范围为1930-01-01 到2200-12-31)
{
if (obj.value.length==0) return false;
var objValue=obj.value.replace(/[-\.]/g,"/");
var a=new Date(objValue);
if (isNaN(a))
{
obj.value="";
alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进处了清除。");
obj.focus();
return false;
}
var b;
if (a.getFullYear()<1900||a.getFullYear()>2200)
{var Today=new Date();
b=Today.getFullYear()+"-"+(a.getMonth()+1)+"-"+a.getDate();
}
else if (a.getFullYear()<1930)
b=(a.getFullYear()+100)+"-"+(a.getMonth()+1)+"-"+a.getDate();
else b=a.getFullYear()+"-"+(a.getMonth()+1)+"-"+a.getDate();
obj.value=obj.value.replace(/[-\.\/]0*/g,"-");
if (b!=obj.value)
{
obj.value=b;
alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进行了修改。");
obj.select();
obj.focus();
return false;
}
return true;
}


</script>
imports 2002-11-22
  • 打赏
  • 举报
回复
用vbscript的isdate()函数,也可以的呀!

好方便的!!!
gzh_seagull 2002-11-22
  • 打赏
  • 举报
回复
//校验日期的函数
//在最终校验时使用
//source 校验的字符窜
function checkDate(source) {
var str = source;
if (str.length == 0) return true;

var arList = str.split("-")
if (arList.length != 3){ return false; }

var iYear = parseInt(arList[0],10);
var iMonth = parseInt(arList[1],10);
var iDay = parseInt(arList[2],10);

if(isNaN(iYear) || isNaN(iMonth) || isNaN(iDay)) {return false;}

if (iYear<1900 || iYear>2099){ return false; }

if (iMonth>12 || iMonth<1){ return false; }

if ((iMonth==1 || iMonth==3 || iMonth==5 || iMonth==7 || iMonth==8 || iMonth==10 || iMonth==12) && (iDay>31 || iDay<1)){ return false; }

if ((iMonth==4 || iMonth==6 || iMonth==9 || iMonth==11) && (iDay>30 || iDay<1)){ return false; }

if (iMonth==2){
if (LeapYear(iYear)){
if (iDay>29 || iDay<1){ return false; }
}
else{
if (iDay>28 || iDay<1){ return false; }
}
}
return true;
}

//判断是否闰年
//参数 intYear 代表年份的值
//return true: 是闰年 false: 不是闰年
function LeapYear(intYear) {
if (intYear % 100 == 0) {
if (intYear % 400 == 0) { return true; }
}
else {
if ((intYear % 4) == 0) { return true; }
}
return false;
}

87,910

社区成员

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

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