打印本文 打印本文 关闭窗口 关闭窗口
一些常用的JS字符串处理函数(JS)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1822  更新时间:2008/11/12 20:31:39  文章录入:mintao  责任编辑:mintao

function CheckInput(Str, Title, Format, LengthMin, LengthMax)
{
 //检测并初始化输入参数
 if( Title == '' )
 {
  return false;
 }
 if( Str == '' && LengthMin != 0 )
 {
  return false;
 }
 if( Format == '' )
 {
  Format = 'ELSE';
 }
 else
 {
  Format = Format.toUpperCase();
 }
 if( LengthMin == '' ) LengthMin = 0;
 if( LengthMax == '' ) LengthMax = 255;

 

 //判断是否合法
 if(Str!='')
 {
  if( Str.length < LengthMin )
  {
   return false;
  }
  if( Str.length > LengthMax )
  {
      window.alert(Title+"长度大于"+LengthMax+"个字符!");return false;
  }
  if( Format == 'DATE')
  {
   if(!CheckDate(Str))
   {
    return false;
   }
  }
  if( Format == 'EMAIL')
  {
   if(!CheckEmail(Str))
   {
    return false;
   }
  }
  if( Format == 'URL')
  {
   if(!Checkurl(/Str))
   {
    return false;
   }
  }
  if( Format == 'POST')
  {
   if(!CheckPost(Str))
   {
    return false;
   }
  }
  if( Format == 'PHONE')
  {
   if(!CheckPhone(Str))
   {
    return false;
   }
  }
  if( Format == 'PC')
  {
   if(!CheckPC(Str))
   {
    return false;
   }
  }
  if( Format == 'NUM')
  {
   if(!CheckNum(Str))
   {
    return false;
   }
  }
  if( Format == 'HZ')
  {
   if(!CheckHZ(Str))
   {
    return false;
   }
  }
  return true;
 }
 return true;
}

 

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

 var tmpy="";
 var tmpm="";
 var tmpd="";
 var status;
 
 status=0;
 if ( lthdatestr== 0) return false;

 for (i=0;i { if (datestr.charAt(i)== '-')
  {
   status++;
  }
  if (status>2)
  {
   //alert("Invalid format of date!");
   return false;
  }
  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 false;
 }
 if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )
 {
  //alert ("Invalid month or day!");
  return false;
 }
 if (!((year % 4)==0) && (month==2) && (day==29))
 {
  //alert ("This is not a leap year!");
  return false;
 }
 if ((month<=7) && ((month % 2)==0) && (day>=31))
 {
  //alert ("This month is a small month!");
  return false;
 }
 if ((month>=8) && ((month % 2)==1) && (day>=31))
 {
  //alert ("This month is a small month!");
  return false;
 }
 if ((month==2) && (day==30))
 {
  //alert("The Febryary never has this day!");
  return false;
 }

 return true;
}


//是否Email格式

function CheckEmail(EmailText)
{
    var checkOk="@";
    var checkStr=EmailText;
    var allValid=true;
    var decPoints=0;
    var allNum="";
   
    if(checkStr.charAt(0)=='@')
       return(false);
    if(checkStr.charAt(checkStr.length-1)=='@')
       return(false);
    if(checkStr.charAt(checkStr.length-1)=='.')
       return(false);
  
   a_valid=0;
   a_count=0;
   d_valid=0;
 
    for(i=0;i    {
      ch=checkStr.charAt(i);
      if(ch=='@')
       {a_valid=1;a_count++;}
      if(ch=='.')
      {d_valid=1;}
    }
  
    if(a_count>1)
      return(false);
     
    if(a_valid==1&&d_valid==1)
      return(true);
    else
      return(false);
}

 

//是否URL格式
function Checkurl(/Str)
{
 if ( Str.length < 7 ) return false;
 Str = Str.toUpperCase();
 if ( Str.substr( 0,7) != 'HTTP://') return false;
 if ( Str.indexOf( '.') == -1 ) return false;
 return true;
}

 

//是否邮编格式
function CheckPost(Str)
{
 var validChar = "0123456789";
 var i;
 
 if ( Str.length < 6 ) return false;
 for (i=0;i {
  var c = Str.charAt(i);
  if ( validChar.indexOf( Str.charAt(i) ) == -1) return false;
 }
 return true;
}

 

//是否电话传真格式
function CheckPhone(Str)
{
 var validChar = "0123456789-";
 var i;

 for (i = 0; i < Str.length; i++)
 {
  var c = Str.charAt(i);
  if ( validChar.indexOf(c) == -1) return false;
 }
 return true;
}

//是否身份证格式
function CheckPC(Str)
{
 var validChar = "0123456789";
 var i;
 
 if ( Str.length != 15 && Str.length != 18 && Str.length != 0 )  return false;
 for (i=0;i {
  var c = Str.charAt(i);
  if ( validChar.indexOf( Str.charAt(i) ) == -1) return false;
 }
 return true;
}

 

//是否是纯数字
function CheckNum(Str)
{
 var validChar = "-0123456789";
 var i;

 for (i = 0; i < Str.length; i++)
 {
  var c = Str.charAt(i);
  if (validChar.indexOf(c) == -1) return false;
 }
 return true;
}

 

//是否纯中文
function CheckHZ(param)
{
 var reg = /[^u4E00-u9FA5]/g;
  
   if(reg.test(param)) return false;
   return true;
}

//CheckInput()函数结束------------------------

 

 

//去掉字符串内所有多余空格
function Alltrim(str)
{
    while (str.charAt(0)==" "||str.charAt(0)==" ")
 {
     str=str.substr(1);
 }
 while (str.charAt(str.length-1)==" "||str.charAt(0)==" ")
 {
     str=str.substr(0,str.length-1);
 }
    return(str);
}

 

//所有被选中的复选框计数
function CountChkBoxDeleItem()
{
    var j = 0;
   
 for(i=0;i {
  if(document.all(i).type=="checkbox")
  {
   if(document.all(i).checked)
   {j++;}
  }
 }
    return j;
}

 

//字符串长度检测
function CheckStringLength(InputValue,TitleName,MinStrLength,MaxStrLength)

    var CheckedValue = Alltrim(InputValue);
   
    if(CheckedValue.length==0)
    {
       window.alert(TitleName+"不能为空!");
       return false;
    }
    if(CheckedValue.length > MaxStrLength)
    {
  window.alert(TitleName+"长度不能大于"+MaxStrLength+"个字符!");
  return false;
    }
    if(CheckedValue.length < MinStrLength)
    {
  window.alert(TitleName+"长度不能小于" + MinStrLength + "个字符");
  return false;
    }
    return true;
}

//选中所有复选框
function CheckBox_SeleAll()
{
 for(i=0;i    {
     if(document.all.item(i).type=="checkbox")
  {
     document.all.item(i).checked = true;
  }
 }
}

//
function CheckBox_ClearAll()
{
 for(i=0;i    {
     if(document.all.item(i).type=="checkbox")
  {
     document.all.item(i).checked = false;
  }
 }
}

 

打印本文 打印本文 关闭窗口 关闭窗口