常用js方法

来源:互联网 发布:域名dns污染怎么解决 编辑:程序博客网 时间:2024/04/17 05:17

//去左空格;
function ltrim(s){
 return s.replace( /^/s*/, "");
}
//去右空格;
function rtrim(s){
 return s.replace( //s*$/, "");
}
//左右空格;
function trim(s){
 return rtrim(ltrim(s));
}
//替换
function replace(s, t, u) {
   i = s.indexOf(t);
   r = "";
   if (i == -1) return s;
   r += s.substring(0,i) + u;
   if ( i + t.length < s.length)
     r += replace(s.substring(i + t.length, s.length), t, u);
   return r;
}
//检查非法字符
//str 要检查的字符
//badwords 非法字符 &|<>=
function checkbadwords(str, badwords) {
 if (typeof (str) != "string" || typeof (badwords) != "string") {
  return (false);
 }
 for (i=0; i<badwords.length; i++) {
  bad = badwords.charAt(i);
  for (j=0; j<str.length; j++) {
   if (bad == str.charAt(j)) {
    return false;
    break;
   }
  }
 }
 return true;
}
//检查合法字符,限制只能输入的字符
//str 要检查的字符
//goodwords 合法字符 1234567890abcdefghijklmnopqrstuvwxyz
function checkgoodwords(str, goodwords) {
 if (typeof (str) != "string" || typeof (goodwords) != "string") {
  return (false);
 }
 for (i=0; i<str.length; i++) {
  this_str = str.charAt(i);
  for (j=0; j<goodwords.length; j++) {
   if (this_str == goodwords.charAt(j)) {
    break;
   }
   if(j==goodwords.length-1){
    return false;
   }
  }
 }
 return true;
}
//函 数 名:chkinteger
//功能介绍:检查是否为数字
//参数说明:要检查的字符串
//返 回 值:false:不是  true:是
function chkinteger(checkStr) {
 var checkOK = "0123456789+-";
 var allValid = true;
 for (i=0; i<checkStr.length; i++) {
  ch = checkStr.charAt(i);
  if (checkOK.indexOf(ch) == -1) {
   allValid = false;
   break;
  }
  if ((ch == '+' || ch == '-') && i>0) {
   allValid = false;
   break;
  }
 }
 return (allValid);
}
//函 数 名:chklength
//功能介绍:检查字符串的长度
//参数说明:要检查的字符串
//返 回 值:字节长度值
function chklength(checkStr) {
 var n = 0;
 for (i=0; i<checkStr.length; i++) {
  chcode = checkStr.charCodeAt(i);
  if (chcode>=0 && chcode<=255) {
   n++;
  } else {
   n += 2;
  }
 }
 return (n);
}
//复选框全选和不全选
//使用方法:
//<input name="chkAll" type="checkbox" id="chkAll" onclick=CheckAll(this.form) value="checkbox">
function unselectall()
{
    if(document.myform.chkAll.checked){
 document.myform.chkAll.checked = document.myform.chkAll.checked&0;
    }  
}
function CheckAll(form)
  {
  for (var i=0;i<form.elements.length;i++)
    {
    var e = form.elements[i];
    if (e.Name != "chkAll"&&e.disabled==false)
       e.checked = form.chkAll.checked;
    }
}
//check date
//return: 1,days  2,false
//2005-12-19   2005-12-29
function checkdate(start_date,end_date){
 //alert("start_date:["+start_date+"] end_date:["+end_date+"]");
 //isnull
 if(start_date=="" || end_date==""){
  //alert("false");
  return false;
 }
 var strSeparator = "-"; //split symbol
 //is-
 if(start_date.charAt(4)!=strSeparator && start_date.charAt(7)!=strSeparator && end_date.charAt(4)!=strSeparator && end_date.charAt(7)!=strSeparator){
  //alert(start_date.charAt(7));
  return false;
 }
 var strDateArrayStart;
 var strDateArrayEnd;
 strDateArrayStart = start_date.split(strSeparator);
 strDateArrayEnd = end_date.split(strSeparator);
 var strDateS = new Date(strDateArrayStart[0] + "/" + strDateArrayStart[1] + "/" + strDateArrayStart[2]);
 var strDateE = new Date(strDateArrayEnd[0] + "/" + strDateArrayEnd[1] + "/" + strDateArrayEnd[2]);
 //check date
 var intDay;
 intDay = (strDateE-strDateS)/(1000*3600*24);
 //alert(intDay);
 return intDay;
}
//checkdate_month
//return: 1,true  2,false
//2005-12-19   2005-12-29
//month: number
function checkdate_month(start_date,end_date,month){
 //alert("start_date:["+start_date+"] end_date:["+end_date+"]");
 //isnull
 if(start_date=="" || end_date=="" || month==""){
  //alert("false");
  return false;
 }
 var strSeparator = "-"; //split symbol
 //is-
 if(start_date.charAt(4)!=strSeparator && start_date.charAt(7)!=strSeparator && end_date.charAt(4)!=strSeparator && end_date.charAt(7)!=strSeparator){
  //alert(start_date.charAt(7));
  return false;
 }
 var strDateArrayStart;
 var strDateArrayEnd;
 strDateArrayStart = start_date.split(strSeparator);
 strDateArrayEnd = end_date.split(strSeparator);
 var strDateS = new Date(strDateArrayStart[0] + "/" + strDateArrayStart[1] + "/" + strDateArrayStart[2]);
 var strDateE = new Date(strDateArrayEnd[0] + "/" + strDateArrayEnd[1] + "/" + strDateArrayEnd[2]);
 //check date
 var intDay;
 intDay = (strDateE-strDateS)/(1000*3600*24);
 //alert(intDay);
 var intMonth = intDay/30;
 if(intMonth>month){
  return false;
 }
 return true ;

}