常用javascript函數3

來源:互聯網
上載者:User

原文:http://www.52sdn.com/artid/391/391503.html

/*********************************************************************************
* EO_JSLib.js
* javascriptRegex檢驗
**********************************************************************************/

//校正是否全由數字組成
function isDigit(s)
{
 var patrn=/^[0-9]{1,20}$/;
 if (!patrn.exec(s)) return false
 return true
}

//校正登入名稱:只能輸入5-20個以字母開頭、可帶數字、“_”、“.”的字串
function isRegisterUserName(s)
{
 var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
 if (!patrn.exec(s)) return false
 return true
}

//校正使用者姓名:只能輸入1-30個以字母開頭的字串
function isTrueName(s)
{
 var patrn=/^[a-zA-Z]{1,30}$/;
 if (!patrn.exec(s)) return false
 return true
}

//校正密碼:只能輸入6-20個字母、數字、底線
function isPasswd(s)
{
 var patrn=/^(\w){6,20}$/;
 if (!patrn.exec(s)) return false
 return true
}

//校正普通電話、傳真號碼:可以“+”開頭,除數字外,可含有“-”
function isTel(s)
{
 //var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
 var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
 if (!patrn.exec(s)) return false
 return true
}

//校正手機號碼:必須以數字開頭,除數字外,可含有“-”
function isMobil(s)
{
 var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
 if (!patrn.exec(s)) return false
 return true
}

//校正郵遞區號
function isPostalCode(s)
{
 //var patrn=/^[a-zA-Z0-9]{3,12}$/;
 var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
 if (!patrn.exec(s)) return false
 return true
}

//校正搜尋索引鍵
function isSearch(s)
{
 var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;\'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\'\,.<>?]{0,19}$/;
 if (!patrn.exec(s)) return false
 return true
}

function isIP(s) //by zergling
{
 var patrn=/^[0-9.]{1,20}$/;
 if (!patrn.exec(s)) return false
 return true
}
 
 
/*********************************************************************************
* FUNCTION: isBetween
* PARAMETERS: val AS any value
* lo AS Lower limit to check
* hi AS Higher limit to check
* CALLS: NOTHING
* RETURNS: TRUE if val is between lo and hi both inclusive, otherwise false.
**********************************************************************************/
function isBetween (val, lo, hi)
{
 if ((val < lo) || (val > hi)) { return(false); }
 else { return(true); }
}

/*********************************************************************************
* FUNCTION: isDate checks a valid date
* PARAMETERS: theStr AS String
* CALLS: isBetween, isInt
* RETURNS: TRUE if theStr is a valid date otherwise false.
**********************************************************************************/
function isDate (theStr)
{
 var the1st = theStr.indexOf('-');
 var the2nd = theStr.lastIndexOf('-');

 if (the1st == the2nd) { return(false); }
 else
 {
  var y = theStr.substring(0,the1st);
  var m = theStr.substring(the1st+1,the2nd);
  var d = 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(true);
  }
 }
}
/*********************************************************************************
* FUNCTION: isEuDate checks a valid date in British format
* PARAMETERS: theStr AS String
* CALLS: isBetween, isInt
* RETURNS: TRUE if theStr is a valid date otherwise false.
**********************************************************************************/
function isEuDate (theStr)
{
 if (isBetween(theStr.length, 8, 10) == false) { return(false); }
 else
 {
  var the1st = theStr.indexOf('/');
  var the2nd = theStr.lastIndexOf('/');

  if (the1st == the2nd)
  {
   return(false);
  }
  else
  {
   var m = theStr.substring(the1st+1,the2nd);
   var d = theStr.substring(0,the1st);
   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) == false) { 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(true); }
  }
 }

}
/********************************************************************************
* FUNCTION: Compare Date! Which is the latest!
* PARAMETERS: lessDate,moreDate AS String
* CALLS: isDate,isBetween
* RETURNS: TRUE if lessDate<moreDate
*********************************************************************************/
function isComdate (lessDate , moreDate)
{
 if (!isDate(lessDate)) { return(false);}
 if (!isDate(moreDate)) { return(false);}
 var less1st = lessDate.indexOf('-');
 var less2nd = lessDate.lastIndexOf('-');
 var more1st = moreDate.indexOf('-');
 var more2nd = moreDate.lastIndexOf('-');
 var lessy = lessDate.substring(0,less1st);
 var lessm = lessDate.substring(less1st+1,less2nd);
 var lessd = lessDate.substring(less2nd+1,lessDate.length);
 var morey = moreDate.substring(0,more1st);
 var morem = moreDate.substring(more1st+1,more2nd);
 var mored = moreDate.substring(more2nd+1,moreDate.length);
 var Date1 = new Date(lessy,lessm,lessd);
 var Date2 = new Date(morey,morem,mored);
 if (Date1>Date2) { return(false);}
 return(true);

}

/*********************************************************************************
* FUNCTION isEmpty checks if the parameter is empty or null
* PARAMETER str AS String
**********************************************************************************/
function isEmpty (str) {
 if ((str==null)||(str.length==0)) return true;
 else return(false);
}

/*********************************************************************************
* FUNCTION: isInt
* PARAMETER: theStr AS String
* RETURNS: TRUE if the passed parameter is an integer, otherwise FALSE
* CALLS: isDigit
**********************************************************************************/
function isInt (theStr) {
 var flag = true;

 if (isEmpty(theStr)) { flag=false; }
 else
 {
  for (var i=0; i<theStr.length; i++)
  {
   if (isDigit(theStr.substring(i,i+1)) == false)
   {
    flag = false; break;
   }
  }
 }
 return(flag);
}

/*********************************************************************************
* FUNCTION: isReal
* PARAMETER: heStr AS String
decLen AS Integer (how many digits after period)
* RETURNS: TRUE if theStr is a float, otherwise FALSE
* CALLS: isInt
**********************************************************************************/
function isReal (theStr, decLen) {
 var dot1st = theStr.indexOf('.');
 var dot2nd = theStr.lastIndexOf('.');
 var OK = true;

 if (isEmpty(theStr)) return false;

 if (dot1st == -1)
 {
  if (!isInt(theStr)) return(false);
  else return(true);
 }

 else if (dot1st != dot2nd) return (false);
 else if (dot1st==0) return (false);
 else {
  var intPart = theStr.substring(0, dot1st);
  var decPart = theStr.substring(dot2nd+1);

  if (decPart.length > decLen) return(false);
  else if (!isInt(intPart) || !isInt(decPart)) return (false);
  else if (isEmpty(decPart)) return (false);
  else return(true);
 }
}

/*********************************************************************************
* FUNCTION: isEmail
* PARAMETER: String (Email Address)
* RETURNS: TRUE if the String is a valid Email address
* FALSE if the passed string is not a valid Email Address
* EMAIL FORMAT:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.