javascript 常用代碼大全

來源:互聯網
上載者:User
===========================================
//日期比較
===========================================
*/
Date.prototype.Compare = function(objDate)
{
if(typeof(objDate)!="object" && objDate.constructor != Date)
{
return -2;
}

 

var d = this.getTime() - objDate.getTime();

 

if(d>0)
{
return 1;
}
else if(d==0)
{
return 0;
}
else
{
return -1;
}
}

 

/*
===========================================
//格式化日期格式
===========================================
*/
Date.prototype.Format = function(formatStr)
{
var str = formatStr;

 

str=str.replace(/yyyy|YYYY/,this.getFullYear());
str=str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.getYear() % 100).toString():"0" +

(this.getYear() % 100));

 

str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():"0" + this.getMonth());
str=str.replace(/M/g,this.getMonth());

 

str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():"0" + this.getDate());
str=str.replace(/d|D/g,this.getDate());

 

str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():"0" + this.getHours());
str=str.replace(/h|H/g,this.getHours());

 

str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():"0" + this.getMinutes

());
str=str.replace(/m/g,this.getMinutes());

 

str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():"0" +

this.getSeconds());
str=str.replace(/s|S/g,this.getSeconds());

 

return str;
}

 

/*
===========================================
//由字串直接執行個體日期對象
===========================================
*/
Date.prototype.instanceFromString = function(str)
{
return new Date("2004-10-10".replace(/-/g, "\/"));
}

 

/*
===========================================
//得到日期年月日等加數字後的日期
===========================================
*/
Date.prototype.dateAdd = function(interval,number)
{
var date = this;

 

     switch(interval)
     {
         case "y" :
             date.setFullYear(date.getFullYear()+number);
             return date;

 

         case "q" :
             date.setMonth(date.getMonth()+number*3);
             return date;

 

         case "m" :
             date.setMonth(date.getMonth()+number);
             return date;

 

         case "w" :
             date.setDate(date.getDate()+number*7);
             return date;
        
         case "d" :
             date.setDate(date.getDate()+number);
             return date;

 

         case "h" :
             date.setHours(date.getHours()+number);
             return date;

 

case "m" :
             date.setMinutes(date.getMinutes()+number);
             return date;

 

case "s" :
             date.setSeconds(date.getSeconds()+number);
             return date;

 

         default :
             date.setDate(d.getDate()+number);
             return date;
     }
}

 

/*
===========================================
//計算兩日期相差的日期年月日等
===========================================
*/
Date.prototype.dateDiff = function(interval,objDate)
{
//暫缺
}

 

/*
******************************************
數字函數擴充
******************************************
*/

 

/*
===========================================
//轉換成中文大寫數字
===========================================
*/
Number.prototype.toChinese = function()
{
var num = this;
     if(!/^\d*(\.\d*)?$/.test(num)){alert("Number is wrong!"); return "Number is wrong!";}

 

     var AA = new Array("零","壹","貳","三","肆","伍","陸","柒","捌","玖");
     var BB = new Array("","拾","佰","仟","萬","億","點","");
    
     var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = "";

 

     for(var i=a[0].length-1; i>=0; i--)
     {
         switch(k)
         {
             case 0 : re = BB[7] + re; break;
             case 4 : if(!new RegExp("0{4}\\d{"+ (a[0].length-i-1) +"}$").test(a[0]))
                      re = BB[4] + re; break;
             case 8 : re = BB[5] + re; BB[7] = BB[5]; k = 0; break;
         }
         if(k%4 == 2 && a[0].charAt(i+2) != 0 && a[0].charAt(i+1) == 0) re = AA[0] + re;
         if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re; k++;
     }

 

     if(a.length>1) //加上小數部分(如果有小數部分)
     {
         re += BB[6];
         for(var i=0; i<a[1].length; i++) re += AA[a[1].charAt(i)];
     }
     return re;

 

}

 

/*
===========================================
//保留小數點位元
===========================================
*/
Number.prototype.toFixed=function(len)
{

 

if(isNaN(len)||len==null)
{
len = 0;
}
else
{
if(len<0)
{
len = 0;
}
}

 

     return Math.round(this * Math.pow(10,len)) / Math.pow(10,len);

 

}

 

/*
===========================================
//轉換成大寫金額
===========================================
*/
Number.prototype.toMoney = function()
{
// Constants:
var MAXIMUM_NUMBER = 99999999999.99;
// Predefine the radix characters and currency symbols for output:
var CN_ZERO= "零";
var CN_ONE= "壹";
var CN_TWO= "貳";
var CN_THREE= "三";
var CN_FOUR= "肆";
var CN_FIVE= "伍";
var CN_SIX= "陸";
var CN_SEVEN= "柒";
var CN_EIGHT= "捌";
var CN_NINE= "玖";
var CN_TEN= "拾";
var CN_HUNDRED= "佰";
var CN_THOUSAND = "仟";
var CN_TEN_THOUSAND= "萬";
var CN_HUNDRED_MILLION= "億";
var CN_SYMBOL= "";
var CN_DOLLAR= "元";
var CN_TEN_CENT = "角";
var CN_CENT= "分";
var CN_INTEGER= "整";
  
// Variables:
var integral; // Represent integral part of digit number.
var decimal; // Represent decimal part of digit number.
var outputCharacters; // The output result.
var parts;
var digits, radices, bigRadices, decimals;
var zeroCount;
var i, p, d;
var quotient, modulus;
  
if (this > MAXIMUM_NUMBER)
{
return "";
}
  
// Process the coversion from currency digits to characters:
// Separate integral and decimal parts before processing coversion:

 

parts = (this + "").split(".");
if (parts.length > 1)
{
integral = parts[0];
decimal = parts[1];
// Cut down redundant decimal digits that are after the second.
decimal = decimal.substr(0, 2);
}
else
{
integral = parts[0];
decimal = "";
}
// Prepare the characters corresponding to the digits:
digits= new Array(CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN,

CN_EIGHT, CN_NINE);
radices= new Array("", CN_TEN, CN_HUNDRED, CN_THOUSAND);
bigRadices= new Array("", CN_TEN_THOUSAND, CN_HUNDRED_MILLION);
decimals= new Array(CN_TEN_CENT, CN_CENT);

 

// Start processing:
outputCharacters = "";
// Process integral part if it is larger than 0:
if (Number(integral) > 0)
{
zeroCount = 0;
for (i = 0; i < integral.length; i++)
{
p = integral.length - i - 1;
d = integral.substr(i, 1);
quotient = p / 4;
modulus = p % 4;
if (d == "0")
{
zeroCount++;
}
else
{
if (zeroCount > 0)
{
outputCharacters += digits[0];
}
zeroCount = 0;
outputCharacters += digits[Number(d)] + radices[modulus];
}

 

if (modulus == 0 && zeroCount < 4)
{
outputCharacters += bigRadices[quotient];
}
}

 

outputCharacters += CN_DOLLAR;
}

 

// Process decimal part if there is:
if (decimal != "")
{
for (i = 0; i < decimal.length; i++)
{
d = decimal.substr(i, 1);
if (d != "0")
{
outputCharacters += digits[Number(d)] + decimals[i];
}
}
}

 

// Confirm and return the final output string:
if (outputCharacters == "")
{
outputCharacters = CN_ZERO + CN_DOLLAR;
}
if (decimal == "")
{
outputCharacters += CN_INTEGER;
}

 

outputCharacters = CN_SYMBOL + outputCharacters;
return outputCharacters;
}

 

Number.prototype.toImage = function()
{
var num = Array(
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x5,0x5,0x5,0xF}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0x4,0x4,0x4,0x4,0x4}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x4,0xF,0x1,0xF}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x4,0xF,0x4,0xF}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0x5,0x5,0xF,0x4,0x4}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x1,0xF,0x4,0xF}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x1,0xF,0x5,0xF}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x4,0x4,0x4,0x4}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x5,0xF,0x5,0xF}",
"#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x5,0xF,0x4,0xF}"
);

 

var str = this + "";
var iIndex
var result=""
for(iIndex=0;iIndex<str.length;iIndex++)
{
result +="<img src='javascript:" & num(iIndex) & "'">
}

 

return result;
}

 

/*
******************************************
其他函數擴充
******************************************
*/

 

/*
===========================================
//驗證類函數
===========================================
*/
function IsEmpty(obj)
{

 

     obj=document.getElementsByName(obj).item(0);
     if(Trim(obj.value)=="")
     {
      
         if(obj.disabled==false && obj.readOnly==false)
         {
             obj.focus();
         }
return true;
     }
else
{
return false;
}
}

 

/*
===========================================
//無模式提示對話方塊
===========================================
*/
function modelessAlert(Msg)
{
    window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close

();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;");
}

 

  

 

/*
===========================================
//頁面裡斷行符號到下一控制項的焦點
===========================================
*/
function Enter2Tab()
{
var e = document.activeElement;
if(e.tagName == "INPUT" &&
(
e.type == "text"      ||
e.type == "password" ||
e.type == "checkbox" ||
e.type == "radio"
)    ||
e.tagName == "SELECT")

 

{
if(window.event.keyCode == 13)
{
     window.event.keyCode = 9;
}
}
}
////////開啟此功能請取消下行注釋
//document.onkeydown = Enter2Tab;

 

function ViewSource(url)
{
window.location = 'view-source:'+ url;
}

 

///////禁止右鍵
document.oncontextmenu = function() { return false;}

 

  

 

/*
******************************************
字串函數擴充
******************************************
*/

 

/*
===========================================
//去除左邊的空格
===========================================

 

*/
String.prototype.LTrim = function()
{
return this.replace(/(^\s*)/g, "");
}

 

String.prototype.Mid = function(start,len)
{
if(isNaN(start)&&start<0)
{
return "";
}

 

if(isNaN(len)&&len<0)
{
return "";
}

 

return this.substring(start,len);
}

 

/*
===========================================
//去除右邊的空格
===========================================
*/
String.prototype.Rtrim = function()
{
return this.replace(/(\s*$)/g, "");
}

 

  

 

/*
===========================================
//去除前後空格
===========================================
*/
String.prototype.Trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}

 

/*
===========================================
//得到左邊的字串
===========================================
*/
String.prototype.Left = function(len)
{

 

if(isNaN(len)||len==null)
{
len = this.length;
}
else
{
if(parseInt(len)<0||parseInt(len)>this.length)
{
len = this.length;
}
}

 

return this.substring(0,len);
}

 

/*
===========================================
//得到右邊的字串
===========================================
*/
String.prototype.Right = function(len)
{

 

if(isNaN(len)||len==null)
{
len = this.length;
}
else
{
if(parseInt(len)<0||parseInt(len)>this.length)
{
len = this.length;
}
}

 

return this.substring(this.length-len,this.length);
}

 

/*
===========================================
//得到中間的字串,注意從0開始
===========================================
*/
String.prototype.Mid = function(start,len)
{
if(isNaN(start)||start==null)
{
start = 0;
}
else
{
if(parseInt(start)<0)
{
start = 0;
}
}

 

if(isNaN(len)||len==null)
{
len = this.length;
}
else
{
if(parseInt(len)<0)
{
len = this.length;
}
}

 

return this.substring(start,start+len);
}

 

/*
===========================================
//在字串裡尋找另一字串:位置從0開始
===========================================
*/
String.prototype.InStr = function(str)
{

 

if(str==null)
{
str = "";
}

 

return this.indexOf(str);
}

 

/*
===========================================
//在字串裡反向尋找另一字串:位置0開始
===========================================
*/
String.prototype.InStrRev = function(str)
{

 

if(str==null)
{
str = "";
}

 

return this.lastIndexOf(str);
}

 

  

 

/*
===========================================
//計算字串列印長度
===========================================
*/
String.prototype.LengthW = function()
{
return this.replace(/[^\x00-\xff]/g,"**").length;
}

 

/*
===========================================
//是否是正確的IP地址
===========================================
*/
String.prototype.isIP = function()
{

 

var reSpaceCheck = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;

 

if (reSpaceCheck.test(this))
{
this.match(reSpaceCheck);
if (RegExp.$1 <= 255 && RegExp.$1 >= 0
&& RegExp.$2 <= 255 && RegExp.$2 >= 0
&& RegExp.$3 <= 255 && RegExp.$3 >= 0
&& RegExp.$4 <= 255 && RegExp.$4 >= 0)
{
return true;     
}
else
{
return false;
}
}
else
{
return false;
}
   
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.