2025-06-11 17:16:05 +08:00

230 lines
4.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}