javascript 常用代码大全

===========================================

//日期比较

===========================================

*/

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;

}

}