分享一个我最近写的一个 公用object,一般公司项目都能用到这些函数,我会陆续更新

/*
 * 芭乐命名空间函数调用
 * 函数包括:
 *          otherLogin(tp) //微博 人人登陆
 *          getParam(string) //获取URL 参数
 *          emailSuffix(mail) //给出邮件地址 获取一级域名
 *
 * */
bale.otherFun = {
    "currentMonth": function () {//获取本月开始日期  结束日期
        var now = new Date();                    //当前日期
		var nowDay = now.getDate();              //当前日
		var nowMonth = now.getMonth();           //当前月
		var nowYear = now.getFullYear();             //当前年

		//获得某月的天数
		function getMonthDays(myMonth){
			var monthStartDate = new Date(nowYear, myMonth, 1);
			var monthEndDate = new Date(nowYear, myMonth + 1, 1);
			var   days   =   (monthEndDate   -   monthStartDate)/(1000   *   60   *   60   *   24);
			return   days;
		}

        return this.formatDate(new Date(nowYear, nowMonth, 1)) +'|'+ this.formatDate(new Date(nowYear, nowMonth, getMonthDays(nowMonth)));
    },
    "currentWeek": function () {//获得本周时间
        var now = new Date();                    //当前日期
		var nowDay = now.getDate();              //当前日
		var nowMonth = now.getMonth();           //当前月
		var nowYear = now.getFullYear();             //当前年
        var nowDayOfWeek = now.getDay();         //今天本周的第几天

        return this.formatDate(new Date(nowYear, nowMonth, nowDay - nowDayOfWeek+1)) +"|"+ this.formatDate(new Date(nowYear, nowMonth, nowDay + (7 - nowDayOfWeek)));
    },
    "formatDate": function (date) {//格式化日期:yyyy-MM-dd
        var myyear = date.getFullYear();
        var mymonth = date.getMonth()+1;
        var myweekday = date.getDate();

        if(mymonth < 10){
            mymonth = "0" + mymonth;
        }
        if(myweekday < 10){
            myweekday = "0" + myweekday;
        }
        return (myyear+"-"+mymonth + "-" + myweekday);
    },
    "GetDateStr" : function (AddDayCount) {//获取AddDayCount天后的日期
        var dd = new Date();
        dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期

        var y = dd.getFullYear();
        var m = dd.getMonth()+1;//获取当前月份的日期
        var d = dd.getDate();

        return y+"-"+m+"-"+d;
    },
    "toggleTab" : function () { //用户后台TAB切换
        $("#toggletab li a").bind("click", function () {
            var tag = $(this).attr("href");

            if (tag == '#modifypwd') {
                $("#userinfo1").addClass("hide");
                $("#modifypwd1").removeClass("hide");

                $("#a1").removeClass("active");
                $("#a2").addClass("active");


            } else {
                $("#userinfo1").removeClass("hide");
                $("#modifypwd1").addClass("hide");

                $("#a2").removeClass("active");
                $("#a1").addClass("active");
            }

        });

    },
    "emailSuffix" : function (mail) {
            var m = mail.split("@");
            $("[rel=eSuffix]").bind("click", function () {
                location.href = 'http://mail.' + m[1];
            });
    },
    "evalJSON" : function (astr) {//将json string转换成object
            var ljson;
            if (typeof astr == "object") {
                return astr;
            }
            astr = (astr != null) ? astr.split("\n").join("").split("\r").join("") : "";
            if (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/.test(astr.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''))) {
                if (astr != "") {
                    ljson = eval('(' + astr + ')');
                    return ljson;
                }
            }
            return {};

    },
    "otherLogin" : function (tp) {//微博 人人登陆
        var return_url = "";
        if(tp == 1){
            url     = 'http://'+ bale.configurl.passport +'/passport/weibo-sina-oauth-request.jsp?redirect=' + escape(return_url);
        }else if(tp == 2){
            url     = 'http://'+ bale.configurl.passport +'/passport/weibo-renren-oauth-request.jsp?redirect=' + escape(return_url);
        }else if(tp == 3){
            url     = 'http://www.weiguan.com//user/sdo_login.html?redirect=' + escape(return_url);
        } else {
            alert("请传递参数~");
            return false;
        }


        var iHeight = 400;
        var iWidth  = 600;
        var iTop    = (window.screen.availHeight-30-iHeight)/2;       //获得窗口的垂直位置;
        var iLeft   = (window.screen.availWidth-10-iWidth)/2;           //获得窗口的水平位置;
        window.open(url, 'newwindow', 'height=400, width=600, top='+iTop+', left='+iLeft+', toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no');
    },
    "getParam": function (strName) {//获取地址栏URL参数 xx.php?name=zhangliang      getParam("name")
        var strHref = location.href;

        var intPos = strHref.indexOf("?");
        var strRight = strHref.substr(intPos + 1);
        var arrTmp = strRight.split("&");

        for(var i = 0; i < arrTmp.length; i++)
        {
            var arrTemp = arrTmp[i ].split("=");
            if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1];
        }
        return "";
    },
    "in_array": function (a, b) {
        for(var i=0, maxlen = b.length; i<maxlen; i++) {
            if (b[i] == a) {
                return true;
            }
        }
    },
    "formatNumber": function (num,pattern) {//JS自动格式化输入的数字/千位分隔符
          var strarr = num?num.toString().split('.'):['0'];
          var fmtarr = pattern?pattern.split('.'):[''];
          var retstr='';

          // 整数部分
          var str = strarr[0];
          var fmt = fmtarr[0];
          var i = str.length-1;
          var comma = false;
          for(var f=fmt.length-1;f>=0;f--){
            switch(fmt.substr(f,1)){
              case '#':
                if(i>=0 ) retstr = str.substr(i--,1) + retstr;
                break;
              case '0':
                if(i>=0) retstr = str.substr(i--,1) + retstr;
                else retstr = '0' + retstr;
                break;
              case ',':
                comma = true;
                retstr=','+retstr;
                break;
            }
          }
          if(i>=0){
            if(comma){
              var l = str.length;
              for(;i>=0;i--){
                retstr = str.substr(i,1) + retstr;
                if(i>0 && ((l-i)%3)==0) retstr = ',' + retstr;
              }
            }
            else retstr = str.substr(0,i+1) + retstr;
          }

          retstr = retstr+'.';
          // 处理小数部分
          str=strarr.length>1?strarr[1]:'';
          fmt=fmtarr.length>1?fmtarr[1]:'';
          i=0;
          for(var f=0;f<fmt.length;f++){
            switch(fmt.substr(f,1)){
              case '#':
                if(i<str.length) retstr+=str.substr(i++,1);
                break;
              case '0':
                if(i<str.length) retstr+= str.substr(i++,1);
                else retstr+='0';
                break;
            }
          }
          return retstr.replace(/^,+/,'').replace(/\.$/,'');


    }
};


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Objective-C 中,可以通过重 `NSLog` 函数来将输出内容输出到指定文件中。具体操作如下: 1. 定义一个新的 `NSLog` 函数 ```objective-c void MyNSLog(NSString *format, ...) { va_list args; va_start(args, format); NSString *logStr = [[NSString alloc] initWithFormat:format arguments:args]; va_end(args); // 将输出内容入文件 NSString *filePath = @"文件路径"; NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath]; [fileHandle seekToEndOfFile]; [fileHandle writeData:[logStr dataUsingEncoding:NSUTF8StringEncoding]]; [fileHandle closeFile]; // 将输出内容输出到控制台 NSLog(@"%@", logStr); } ``` 在上面的代码中,首先定义了一个新的 `NSLog` 函数 `MyNSLog`。在这个函数中,首先将输入的格式化字符串格式化成一个字符串,然后将这个字符串入到指定的文件中。接着,调用系统的 `NSLog` 函数将这个字符串输出到控制台中。 2. 重定义 `NSLog` 函数 ```objective-c #define NSLog(...) MyNSLog(__VA_ARGS__) ``` 在上面的代码中,使用 `#define` 宏定义将 `NSLog` 函数重定义为新的 `MyNSLog` 函数。 使用以上两个步骤,就可以将 `NSLog` 的输出内容同时输出到指定文件和控制台中。需要注意的是,如果文件路径不存在,则需要先创建该文件。另外,如果需要在多个文件中使用这个新的 `NSLog` 函数,可以将上面的代码一个公用的头文件中,然后在需要使用的文件中包含该头文件即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值