去空
String.prototype.trim = function()
{
var i,j;
var str = this.replace(/(^\s*)|(\s*$)/g,'');
if(str == "") return "";
for(i=0;i<str.length;i++)
if(str.charAt(i) != ' ') break;
if(i >= str.length) return "";
for(j=str.length-1;j>=0;j--)
if(str.charAt(j) != ' ') break;
return str.substring(i,j+1).replace(/(^\s*)|(\s*$)/g,'');
}
{
var i,j;
var str = this.replace(/(^\s*)|(\s*$)/g,'');
if(str == "") return "";
for(i=0;i<str.length;i++)
if(str.charAt(i) != ' ') break;
if(i >= str.length) return "";
for(j=str.length-1;j>=0;j--)
if(str.charAt(j) != ' ') break;
return str.substring(i,j+1).replace(/(^\s*)|(\s*$)/g,'');
}
/*功能:返回两日期之差
* type: 返回类别标识.yy:年,mm:月,ww:周,dd:日,hh:小时,mi:分,ss:秒,ms:毫秒
* intOrFloat :返回整型还是浮点型值 0:整型,不等于0:浮点型
* output : 输出提示,如:时间差为#
* Example:
* var date1=new Date("2006","03","01");
* var date2=new Date("2006","04","01");
* date2.DateDiff(date1,"dd","0",null)返回值为30
*/
Date.prototype.DateDiff = function (date,type,intOrFloat,output)
{
if(typeof(date) != "object" || !(/Date/.test(date.constructor)))
throw new Error(-1,"calDateDistance(date,type,intOrFloat)的date参数为Date类型.");
type = (type==null?'dd':type);
if(!((new RegExp(type+",","g")).test("yy,mm,ww,dd,hh,mi,ss,ms,")))
throw new Error(-1,"calDateDistance(pd,type,intOrFloat,output)的type参数为非法.");
var iof = (intOrFloat==null?0:intOrFloat);
var num=0;
var o =
{
"ww" : 7*86400000,
"dd" : 86400000,
"hh" : 3600000,
"mi" : 60000,
"ss" : 1000,
"ms" : 1
}
switch(type)
{
case "yy": num = this.getFullYear() - date.getFullYear(); break;
case "mm": num = (this.getFullYear() - date.getFullYear())*12+this.getMonth()-date.getMonth(); break;
default:
var sub = this.valueOf() - date.valueOf();
if (o[type])
num = (sub/o[type]).fmtRtnVal(iof);
break;
}
return (output ? output.replace(/#/g," "+num+" ") : num);
}
* type: 返回类别标识.yy:年,mm:月,ww:周,dd:日,hh:小时,mi:分,ss:秒,ms:毫秒
* intOrFloat :返回整型还是浮点型值 0:整型,不等于0:浮点型
* output : 输出提示,如:时间差为#
* Example:
* var date1=new Date("2006","03","01");
* var date2=new Date("2006","04","01");
* date2.DateDiff(date1,"dd","0",null)返回值为30
*/
Date.prototype.DateDiff = function (date,type,intOrFloat,output)
{
if(typeof(date) != "object" || !(/Date/.test(date.constructor)))
throw new Error(-1,"calDateDistance(date,type,intOrFloat)的date参数为Date类型.");
type = (type==null?'dd':type);
if(!((new RegExp(type+",","g")).test("yy,mm,ww,dd,hh,mi,ss,ms,")))
throw new Error(-1,"calDateDistance(pd,type,intOrFloat,output)的type参数为非法.");
var iof = (intOrFloat==null?0:intOrFloat);
var num=0;
var o =
{
"ww" : 7*86400000,
"dd" : 86400000,
"hh" : 3600000,
"mi" : 60000,
"ss" : 1000,
"ms" : 1
}
switch(type)
{
case "yy": num = this.getFullYear() - date.getFullYear(); break;
case "mm": num = (this.getFullYear() - date.getFullYear())*12+this.getMonth()-date.getMonth(); break;
default:
var sub = this.valueOf() - date.valueOf();
if (o[type])
num = (sub/o[type]).fmtRtnVal(iof);
break;
}
return (output ? output.replace(/#/g," "+num+" ") : num);
}