判断数字等

//函数名:chknum
//功能介绍:检查是否为数字
//参数说明:要检查的数字
//返回值:1为是数字,0为不是数字
function chknum(NUM)
{
 var i,j,strTemp;
 strTemp="-.0123456789";
 if ( NUM.length== 0)
  return 0
 for (i=0;i<NUM.length;i++)
 {
  j=strTemp.indexOf(NUM.charAt(i)); 
  if (j==-1)
  {
  //说明有字符不是数字
   return 0;
  }
 }
 //说明是数字
 return 1;
}



//函数名:chkdate
//功能介绍:检查是否为格式为YYYYMMDD日期
//参数说明:要检查的字符串
//返回值:0:不是日期  1:是日期
function chkdate(datestr)
{
 var lthdatestr
 if (datestr != "")
  lthdatestr= datestr.length ;
 else
  lthdatestr=0;
  
 var tmpy="";
 var tmpm="";
 var tmpd="";
 //var datestr;
 var status;
 status=0;
 if(lthdatestr<8)  {return 0;}//长度不等于8
 if(lthdatestr>8)  {return 0;}//长度不等于8
 //含有非数字
 for(i=0;i<lthdatestr;i++)
 {
  single_b=datestr.charAt(i);//取单个数字
  var num=new Number(single_b);
  if(isNaN(num)==true) {return 0;}
 }
 
 tmpy=datestr.substring(0,4);
 tmpm=datestr.substring(4,6);
 tmpd=datestr.substring(6);

 year=new Number(tmpy);
 month=new Number(tmpm);
 day=new Number(tmpd)
 //tempdate= new String (year+month+day);
 //alert(tempdate);
 if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2))
 {
  return 0;
 }
 if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )
 {
  return 0;
 }
 if (!((year % 4)==0) && (month==2) && (day==29))
 {
  return 0;
 }
 if ((month<=7) && ((month % 2)==0) && (day>=31))
 {
  return 0;
 
 }
 if ((month>=8) && ((month % 2)==1) && (day>=31))
 {
  return 0;
 }
 if ((month==2) && (day==30))
 {
  return 0;
 }
 
 return 1;
} 

回答者: wdp18 - 助理 二级   2006-10-11 15:30

//函数名:chkdate
//功能介绍:检查是否为日期
//参数说明:要检查的字符串
//返回值:0:不是日期  1:是日期
function chkdate(datestr)
{
 var lthdatestr
 if (datestr != "")
  lthdatestr= datestr.length ;
 else
  lthdatestr=0;
  
 var tmpy="";
 var tmpm="";
 var tmpd="";
 //var datestr;
 var status;
 status=0;
 if ( lthdatestr== 0)
  return 0


 for (i=0;i<lthdatestr;i++)
 { if (datestr.charAt(i)== '-')
  {
   status++;
  }
  if (status>2)
  {
   //alert("Invalid format of date!");
   return 0;
  }
  if ((status==0) && (datestr.charAt(i)!='-'))
  {
   tmpy=tmpy+datestr.charAt(i)
  }
  if ((status==1) && (datestr.charAt(i)!='-'))
  {
   tmpm=tmpm+datestr.charAt(i)
  }
  if ((status==2) && (datestr.charAt(i)!='-'))
  {
   tmpd=tmpd+datestr.charAt(i)
  }

 }
 year=new String (tmpy);
 month=new String (tmpm);
 day=new String (tmpd)
 //tempdate= new String (year+month+day);
 //alert(tempdate);
 if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2))
 {
  //alert("Invalid format of date!");
  return 0;
 }
 if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )
 {
  //alert ("Invalid month or day!");
  return 0;
 }
 if (!((year % 4)==0) && (month==2) && (day==29))
 {
  //alert ("This is not a leap year!");
  return 0;
 }
 if ((month<=7) && ((month % 2)==0) && (day>=31))
 {
  //alert ("This month is a small month!");
  return 0;
 
 }
 if ((month>=8) && ((month % 2)==1) && (day>=31))
 {
  //alert ("This month is a small month!");
  return 0;
 }
 if ((month==2) && (day==30))
 {
  //alert("The Febryary never has this day!");
  return 0;
 }
 
 return 1;
}

//函数名:fucCheckNUM
//功能介绍:检查是否为数字
//参数说明:要检查的数字
//返回值:1为是数字,0为不是数字
function fucCheckNUM(NUM)
{
 var i,j,strTemp;
 strTemp="0123456789";
 if ( NUM.length== 0)
  return 0
 for (i=0;i<NUM.length;i++)
 {
  j=strTemp.indexOf(NUM.charAt(i)); 
  if (j==-1)
  {
  //说明有字符不是数字
   return 0;
  }
 }
 //说明是数字
 return 1;
} 

回答者: qumao5736 - 经理 四级   2006-10-11 15:32

<script language="javascript">
function check()
{
  var ErrorInfo="",email="",mobi="",phone="",openmoney="",flags=0;
      email=document.form1.email.value;
   mobi=document.form1.mobi.value;
   phone=document.form1.phone.value;
   //alert(email);
  if (email.lastIndexOf("@")== -1 || email.lastIndexOf(".")== -1)
      {
     ErrorInfo=ErrorInfo+"邮件地址不正确!";flags=1;
   }
  if (isNaN(document.form1.mobi.value))
      {
     ErrorInfo=ErrorInfo+"移动电话带有非数字字符!\n";flags=2;
   }
  if (isNaN(document.form1.phone.value))
      {
     ErrorInfo=ErrorInfo+"固定电话带有非数字字符!\n";flags=3;
   }
  if (isNaN(document.form1.openmoney.value))
      {
     ErrorInfo=ErrorInfo+"开户金额带有非数字字符!\n";flags=4;
   }
  if (email.lastIndexOf("sina") != -1)
      {
     ErrorInfo=ErrorInfo+"不支持sina邮箱!";flags=5;
   }
  if (flags) { alert(ErrorInfo); return false;}
  return true;
}
</script>
这段代码写给你看看~~
里面的phone\email等都是表单里的name值。。这个你应该知道的~~
判断日期就看上面那为大哥的吧~~我就不写了~~呵呵~(偷懒ing。。) 

回答者: vc2008man - 见习魔法师 二级   2006-10-11 15:34

简单的
判断数字:isNaN(要判断的值)//如果是数字返回假,NaN是not a number这样想就可以记住了
判断日期:只好用正则表达式了(要求日期格式0000-00-00)。
var  regstr=/^\d{4}-(\d{1}|11|12)-([1-2]?\d{1}|3[0-1])$/;   
return regstr.test(要判断的值); 
posted @ 2009-09-01 14:11  Daniel_Lu  阅读(163)  评论(0编辑  收藏  举报