几种常用的表单输入判断[1]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 totodo 的 blog

//函数名:chksafe
//功能介绍:检查是否含有"'",'\\',"/"
//参数说明:要检查的字符串
//返回值:0:是  1:不是
function chksafe(a)

 return 1;
/* fibdn = new array ("'" ,"\\", "、", ",", ";", "/");
 i=fibdn.length;
 j=a.length;
 for (ii=0;ii<i;ii++)
 { for (jj=0;jj<j;jj++)
  { temp1=a.charat(jj);
   temp2=fibdn[ii];
   if (tem';p1==temp2)
   { return 0; }
  }
 }
 return 1;
*/ 
}

//函数名:chkspc
//功能介绍:检查是否含有空格
//参数说明:要检查的字符串
//返回值:0:是  1:不是
function chkspc(a)
{
 var i=a.length;
 var j = 0;
 var k = 0;
 while (k<i)
 {
  if (a.charat(k) != " ")
   j = j+1;
  k = k+1;
 }
 if (j==0)
 {
  return 0;
 }
 
 if (i!=j)
 { return 2; }
 else
 {
  return 1;
 }
}


//函数名:chkemail
//功能介绍:检查是否为email address
//参数说明:要检查的字符串
//返回值:0:不是  1:是
function chkemail(a)
{ var i=a.length;
 var temp = a.indexof('@');
 var tempd = a.indexof('.');
 if (temp > 1) {
  if ((i-temp) > 3){
   
    if ((i-tempd)>0){
     return 1;
    }
   
  }
 }
 return 0;
}

//opt1 小数     opt2   负数
//当opt2为1时检查num是否是负数
//当opt1为1时检查num是否是小数
//返回1是正确的,0是错误的
function chknbr(num,opt1,opt2)
{
 var i=num.length;
 var staus;
//staus用于记录.的个数
 status=0;
 if ((opt2!=1) && (num.charat(0)=='-'))
 {
  //alert("you have enter a invalid number.");
  return 0;
 
 }
//当最后一位为.时出错
 if (num.charat(i-1)=='.')
 {
  //alert("you have enter a invalid number.");
  return 0;
 }

 for (j=0;j<i;j++)
 {
  if (num.charat(j)=='.')
  {
   status++;
  }
  if (status>1)
  {
  //alert("you have enter a invalid number.");
  return 0;  
  }
  if (num.charat(j)<'0' || num.charat(j)>'9' )
  {
   if (((opt1==0) || (num.charat(j)!='.')) && (j!=0))
   {
    //alert("you have enter a invalid number.");
    return 0;
   }
  }
 }
 return 1;
}

//函数名: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!");

本文关键:javascript,数据检测
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top