230 lines
4.9 KiB
JavaScript
230 lines
4.9 KiB
JavaScript
|
||
function ResumeError(e) { //禁止IE弹出错误某种提示
|
||
return true;
|
||
}
|
||
window.onerror = ResumeError;
|
||
|
||
forEach = function(func,array){
|
||
for(var i=0;i<array.length;i++)
|
||
func(array[i]);
|
||
}
|
||
|
||
fmtStr = function() {
|
||
var fmt = arguments[0],tS = fmt.split("%s"),rtn = new Array();
|
||
for(var i = 0; i < tS.length; i++){
|
||
rtn.push(tS[i]);
|
||
if( i + 1 < arguments.length && i != tS.length - 1)
|
||
rtn.push(arguments[i + 1]);
|
||
}
|
||
return rtn.join('');
|
||
};
|
||
|
||
fmtFloat = function(fixed,d){
|
||
var d=d||1;var fx=fixed||2;
|
||
function ft(v){
|
||
var f=parseFloat(v)
|
||
return !isNaN(f)?parseFloat((f/d).toFixed(fx)):0.00
|
||
}
|
||
return ft
|
||
}
|
||
|
||
fmtFloat2Str = function(fixed,d){
|
||
var d=d||1;var fx=fixed||2;
|
||
function ft(v){
|
||
var f=parseFloat(v)
|
||
return !isNaN(f)?(f/d).toFixed(fx):"--"
|
||
}
|
||
return ft
|
||
}
|
||
|
||
fmtInt = function(v){
|
||
return !isNaN(v)?v:"--"
|
||
}
|
||
|
||
/*空字符串的处理*/
|
||
fmtEmpty = function(v){
|
||
|
||
return (v==""||v==null||v==undefined)?"--":v
|
||
}
|
||
|
||
// 当数字无效时,当做0来处理
|
||
parseFloat0 = function(num){
|
||
return parseFloat((num==null||num==undefined||num=='')?0:num);
|
||
}
|
||
|
||
// 按float的大小排序
|
||
sortFloat= function(a,b){
|
||
a = parseFloat0(a);
|
||
b = parseFloat0(b);
|
||
return (a>=b)?1:-1;
|
||
}
|
||
|
||
mergeObj = function(o1, o2)
|
||
{
|
||
var i, k;
|
||
if (!o1)
|
||
{
|
||
o1 = {};
|
||
}
|
||
if (o2)
|
||
{
|
||
for (k in o2)
|
||
{
|
||
if (typeof(o2[k]) != 'undefined')
|
||
{
|
||
o1[k] = o2[k];
|
||
}
|
||
}
|
||
}
|
||
return o1;
|
||
};
|
||
|
||
fmtConst = function(data){
|
||
var const_id={}
|
||
for (value in data){
|
||
|
||
if(const_id[data[value][0]]==undefined)
|
||
const_id[data[value][0]]={}
|
||
const_id[data[value][0]][data[value][1]]=data[value][2]
|
||
}
|
||
return const_id;
|
||
}
|
||
|
||
transID = function(const_id,ID){
|
||
var conid=const_id[ID] == undefined ? {} : const_id[ID];
|
||
return function(code){
|
||
return fmtEmpty(conid[code]);
|
||
}
|
||
}
|
||
|
||
|
||
|
||
/*将数字转变成千分号分隔形式的字符串*/
|
||
formatNumberRgx = function(num) {
|
||
if (num == null || num == ""||num==0)
|
||
return "--"
|
||
var parts = num.toString().split(".");
|
||
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
||
return parts.join(".");
|
||
}
|
||
|
||
//将空值转换为0
|
||
null2Zero = function(s){
|
||
if(s==""||s==null||s=="null"||s==undefined){
|
||
return "0";
|
||
}
|
||
return s;
|
||
}
|
||
|
||
//判断字符串是否全为英文字母
|
||
isLetter = function(a){
|
||
var pattern=/^[A-Za-z]+$/;
|
||
return pattern.test(a);
|
||
}
|
||
|
||
//判断字符串是否全为数字
|
||
isNum = function(a){
|
||
var pattern=/^\d*$/;
|
||
return pattern.test(a);
|
||
}
|
||
|
||
//清空字符串左右两边空格
|
||
trim = function(str){
|
||
return str.replace(/(^\s*)|(\s*$)/g, "");
|
||
}
|
||
|
||
// 格式和日期,flag:中间间隔符可以自定义,默认为"-",YYYY-MM-DD
|
||
formatDate = function(d,flag){
|
||
if (d ==''|| d ==null || d==undefined) return '';
|
||
if(d.constructor==Date){
|
||
var year = d.getFullYear();
|
||
var month = d.getMonth()+1;
|
||
month = (month<10)?('0'+month):month;
|
||
var day = d.getDate();
|
||
if(day<10) day = "0" + day;
|
||
|
||
if(flag==null || flag==undefined) flag="-";
|
||
var strDate = year.toString()+flag+month.toString()+flag+day.toString();
|
||
return strDate;
|
||
}
|
||
d = d.toString();
|
||
if(d.length!=8)
|
||
return d;
|
||
if(flag==null || flag==undefined) flag="-";
|
||
return d.slice(0, 4)+flag+d.slice(4, 6)+flag+d.slice(6,8);
|
||
}
|
||
|
||
fmtDate = function(flag){
|
||
flag = flag || "-";
|
||
function ft(d){
|
||
if(d==undefined)
|
||
return ""
|
||
d=d.toString()
|
||
if(d.length!=8)
|
||
return d;
|
||
return d.slice(0, 4)+flag+d.slice(4, 6)+flag+d.slice(6,8)
|
||
}
|
||
return ft
|
||
}
|
||
|
||
// 将日期转变成Date类型格式
|
||
toDate = function(obj){
|
||
if(obj=="" || obj==null || obj==undefined) return null;
|
||
if (obj.constructor==Date) {
|
||
return obj;
|
||
};
|
||
obj = obj.toString();
|
||
var year = parseInt(obj.substring(0,4),10);
|
||
var month = parseInt(obj.substring(4,6),10)-1;
|
||
var day = parseInt(obj.substring(6,8),10);
|
||
var days = new Date(year,month,day);
|
||
return days;
|
||
}
|
||
|
||
// 得到某一日期之前或之后的n天
|
||
// <0,之前;>0,之后
|
||
addDays = function(obj,delta,flag){
|
||
var days = toDate(obj);
|
||
days.setDate(days.getDate()+delta);
|
||
return formatDate(days,flag);
|
||
}
|
||
|
||
|
||
// 得到某一日期之前或之后的n月
|
||
// <0,之前;>0,之后
|
||
addMonths = function(obj,delta,flag){
|
||
var months = toDate(obj);
|
||
months.setMonth(months.getMonth() + delta);
|
||
return formatDate(months,flag);
|
||
}
|
||
|
||
// 得到某一日期之前或之后的n年
|
||
// <0,之前;>0,之后
|
||
addYears = function(obj,delta,flag)
|
||
{
|
||
var years = toDate(obj);
|
||
years.setYear(years.getFullYear()+delta);
|
||
return formatDate(years,flag);
|
||
}
|
||
|
||
// 得到当前日期
|
||
// flag:自定义间隔符 YYYY-MM-DD YYYY.MM.DD等
|
||
getCurDate = function(flag){
|
||
var date = new Date();
|
||
return formatDate(date,flag);
|
||
}
|
||
|
||
addDate = function(dateflag,add,date){
|
||
if(dateflag=="y"){
|
||
date.setYear(date.getFullYear()+add);
|
||
return date;
|
||
}
|
||
else if(dateflag=="m"){
|
||
date.setMonth(date.getMonth()+add);
|
||
return date;
|
||
}
|
||
else if(dateflag=="d"){
|
||
date.setDate(date.getDate()+add);
|
||
return date;
|
||
}
|
||
} |