以文本方式查看主题

-  泥客论坛(十几年前的回忆)  (http://kesonic.com/bbs/index.asp)
--  ☆网页制作☆  (http://kesonic.com/bbs/list.asp?boardid=81)
----  页面上的javascript判断  (http://kesonic.com/bbs/dispbbs.asp?boardid=81&id=7200)

--  作者:羽忆
--  发布时间:2005/1/17 12:09:57

--  页面上的javascript判断

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>无标题文档</title>

<script language="JavaScript">

去掉空格

function Trim(str){

if(str.charAt(0) == " "){

  str = str.slice(1);

  str = Trim(str);

}

return str;

}

判断是否是空

function isEmpty(pObj,errMsg){

var obj = eval(pObj);

if( obj == null || Trim(obj.value) == ""){

  if (errMsg == null || errMsg =="")

   alert("输入为空!");

  else

   alert(errMsg);

  obj.focus();

  return false;

}

return true;

}

判断是否是数字

function isNumber(pObj,errMsg){

var obj = eval(pObj);

strRef = "1234567890";

if(!isEmpty(pObj,errMsg))return false;

for (i=0;i<obj.value.length;i++) {

  tempChar= obj.value.substring(i,i+1);

  if (strRef.indexOf(tempChar,0)==-1) {

   if (errMsg == null || errMsg =="")

    alert("数据不符合要求,请检查");

   else

    alert(errMsg);

   if(obj.type=="text")

    obj.focus();

   return false;

  }

}

return true;

}

//判断是否是数字,数字可以为负数

function isNegative(pObj,errMsg){

var obj = eval(pObj);

strRef = "1234567890-";

if(!isEmpty(pObj,errMsg))return false;

for (i=0;i<obj.value.length;i++) {

  tempChar= obj.value.substring(i,i+1);

  if (strRef.indexOf(tempChar,0)==-1) {

   if (errMsg == null || errMsg =="")

    alert("数据不符合要求,请检查");

   else

    alert(errMsg);

   if(obj.type=="text")

    obj.focus();

   return false;

  }else{

   if(i>0){

    if(obj.value.substring(i,i+1)=="-"){

     if (errMsg == null || errMsg =="")

      alert("数据不符合要求,请检查");

     else

      alert(errMsg);  

     if(obj.type=="text")

     obj.focus();

     return false;

    }

   }

  }

}

return true;

}

判断是否是钱的形式

function isMoney(pObj,errMsg){

var obj = eval(pObj);

strRef = "1234567890.";

if(!isEmpty(pObj,errMsg)) return false;

for (i=0;i<obj.value.length;i++) {

  tempChar= obj.value.substring(i,i+1);

  if (strRef.indexOf(tempChar,0)==-1) {

   if (errMsg == null || errMsg =="")

    alert("数据不符合要求,请检查");

   else

    alert(errMsg);  

   if(obj.type=="text")

    obj.focus();

   return false;

  }else{

   tempLen=obj.value.indexOf(".");

   if(tempLen!=-1){

    strLen=obj.value.substring(tempLen+1,obj.value.length);

    if(strLen.length>2){

     if (errMsg == null || errMsg =="")

      alert("数据不符合要求,请检查");

     else

      alert(errMsg);  

     if(obj.type=="text")

     obj.focus();

     return false;

    }

   }

  }

}

return true;

}

function isLeapYear(year)

{

if((year%4==0&&year%100!=0)||(year%400==0))

{

return true;

}  

return false;

}

//判断时间是否正确

function isDate(checktext){

var datetime;

var year,month,day;

var gone,gtwo;

if(Trim(checktext.value)!=""){

datetime=Trim(checktext.value);

if(datetime.length==10){

  year=datetime.substring(0,4);

  if(isNaN(year)==true){

   alert("请输入日期!格式为(yyyy-mm-dd) \\n例(2001-01-01)!");

   checktext.focus();

   return false;

  }

  gone=datetime.substring(4,5);

  month=datetime.substring(5,7);

  if(isNaN(month)==true){

   alert("请输入日期!格式为(yyyy-mm-dd) \\n例(2001-01-01)!");

   checktext.focus();

   return false;

  }

  gtwo=datetime.substring(7,8);

  day=datetime.substring(8,10);

  if(isNaN(day)==true){

   alert("请输入日期!格式为(yyyy-mm-dd) \\n例(2001-01-01)!");

   checktext.focus();

   return false;

  }

  if((gone=="-")&&(gtwo=="-")){

   if(month<1||month>12) {

    alert("月份必须在01和12之间!");

    checktext.focus();

    return false;

    }

   if(day<1||day>31){

    alert("日期必须在01和31之间!");

    checktext.focus();

    return false;

   }else{

    if(month==2){  

     if(isLeapYear(year)&&day>29){

       alert("二月份日期必须在01到29之间!");

       checktext.focus();

       return false;

     }      

     if(!isLeapYear(year)&&day>28){

       alert("二月份日期必须在01到28之间!");

       checktext.focus();

       return false;

     }

    }

    if((month==4||month==6||month==9||month==11)&&(day>30)){

     alert("在四,六,九,十一月份 \\n日期必须在01到30之间!");

     checktext.focus();

     return false;

    }

   }

  }else{

   alert("请输入日期!格式为(yyyy-mm-dd) \\n例(2001-01-01)");

   checktext.focus();

   return false;

  }

}else{

  alert("请输入日期!格式为(yyyy-mm-dd) \\n例(2001-01-01)");

  checktext.focus();

  return false;

}

}else{

return true;

}

return true;

}

</script>

<script language="JavaScript">

function checked(theform){

if (!isEmpty(theform.aa,\'请输入数据\')) return false;

}

</script>

</head>

<body>

<form method="post" action="" name="dd" onSubmit="return checked(this);">

判断是否输入数据<input type="text" name="aa"><br>

判断数量<input type="text" name="bb" onChange="return isNumber(this,\'\');"><br>

判断数量,可以为负数<input type="text" name="dd" onChange="return isNegative(this,\'\');"><br>

判断金额<input type="text" name="cc" onChange="return isMoney(this,\'\');"><br>

判断时间<input type="text" name="ee" onChange="return isDate(this)"><br>

<input type="submit" value="submit">

</form>

</body>

</html>