JavaScript检验表单输入数据的方法

Posted on 2007-09-14 09:20  =小鑫=  阅读(586)  评论(0)    收藏  举报

1.检验数据是否为日期

 function isDate(theStr){
  var the1st=theStr.indexOf('/');
  var the2nd=theStr.lastIndexOf('/');
  if (the1st==the2nd){return(false);}
  else{
   var m=theStr.substring(0,the1st);
   var d=theStr.substring(the1st+1,the2nd);
   var y=theStr.substring(the2nd+1,thestr.length);
   var maxDays=31;
   if (isInt(m)==false||isInt(d)==false||isInt(y)==false){return (false);}
   else if (y.length<4){return (false);}
   else if (!isBetween(m,1,12){return (false);}
   else if (m==4||m==6||m==9||m==11)maxDays=30;
   else if (m==2){
    if (y%4>0) maxDays=28;
    else if (y%100==0&&y%400>0) maxDays=28;
    else maxDays=29;
     
   }
   if (isBetween(d,1,maxDays)==false)
       {return (false);}
   else{return (false);}
  }
 }

2.检验数据是否为E-mail地址。

  function isEmail(theStr){
   var atIndex=theStr.indexOf('@');
   var dotIndex=theStr.indexOf('.',atIndex);
   var flag=true;
   theSub=theStr.substring(0,dotIndex+1);
   if ((atIndex<1)||(atIndex!=theStr.lastIndexOf('@'))||(dotIndex<atIndex+2)||(theStr.length<=theSub.length))
   {flag=false;}
   else{flag=false};
   retrun (flag);
  }

3.只输入中文

<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">

4.只输入英文和数字

<input onkeyup="value=value.replace(/[\W]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">

5.只输入数字

/[^\d]/g

6.只输入全角字符

/[^\uFF00-\uFFFF]/g

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3