js常用util

来源:http://www.cnblogs.com/tangzeqi/archive/2017/11/01/7764917.html
-Advertisement-
Play Games

/** 日期格式化 */Date.prototype.Format = function(format) { var o = { "M+" : this.getMonth() + 1, // month "d+" : this.getDate(), // day "H+" : this.getHou ...


/** 日期格式化 */
Date.prototype.Format = function(format) {
 var o = {
  "M+" : this.getMonth() + 1, // month
  "d+" : this.getDate(), // day
  "H+" : this.getHours(), // hour
  "m+" : this.getMinutes(), // minute
  "s+" : this.getSeconds(), // second
  "q+" : Math.floor((this.getMonth() + 3) / 3), // quarter
  "S" : this.getMilliseconds()
 // millisecond
 };

 if (/(y+)/.test(format)) {
  format = format.replace(RegExp.$1, (this.getFullYear() + "")
    .substr(4 - RegExp.$1.length));
 }

 for ( var k in o) {
  if (new RegExp("(" + k + ")").test(format)) {
   format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k]
     : ("00" + o[k]).substr(("" + o[k]).length));
  }
 }
 return format;
};

/** 數字格式化 */
function numberFormat(s, n) {
 n = n > 0 && n <= 20 ? n : 2;
 var m = parseFloat(s + "") < 0 ? "-" : "";
 s = parseFloat((Math.abs(s) + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
 var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];
 t = "";
 for (i = 0; i < l.length; i++) {
  t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
 }
 return m + t.split("").reverse().join("") + "." + r;
}

/** 獲取當前周的起止日期 */
Date.prototype.getCurrentWeek = function(date) {
 var today;
 if (null == date || undefined == date || date == "") {
  today = this;
 } else {
  today = date;
 }
 var week = today.getDay();
 if (week == 0) {
  week = 7
 }
 var startDate = new Date(today.valueOf() - (week - 1) * 24 * 60 * 60 * 1000);
 var endDate = new Date(startDate.valueOf() + 6 * 24 * 60 * 60 * 1000);
 var resultObj = new Object();
 resultObj['startDate'] = startDate.Format("yyyy-MM-dd");
 resultObj['endDate'] = endDate.Format("yyyy-MM-dd");
 return resultObj;
};

/** 獲取當前月的起止日期 */
Date.prototype.getCurrentMonth = function(date) {
 var today;
 if (null == date || undefined == date || date == "") {
  today = this;
 } else {
  today = date;
 }
 var year = today.getFullYear();
 var month = today.getMonth();
 var firstDay = new Date(year, month, 1);
 if (month == 11) {
  month = 0;
  year++;
 } else {
  month++;
 }
 var nextDay = new Date(year, month, 1);
 var resultObj = new Object();
 resultObj['startDate'] = firstDay.Format("yyyy-MM-dd");
 resultObj['endDate'] = new Date(nextDay.valueOf() - 24 * 60 * 60 * 1000)
   .Format("yyyy-MM-dd");
 return resultObj;
};

/**減一天標準格式(yyyy-MM-dd)  */
function reduceOneDay(date) {
 var dateTime = new Date(Date.parse(date.replace(/-/g, "/")));
 var result = new Date(dateTime.getTime() - 24*60*60*1000);
 return result.Format("yyyy-MM-dd");
}

/** 通過時間返回中文星期 */
function getChineseWeek(date) {
 var d = new Date(date.replace(/-/g, "/"));
 var week = d.getDay();
 var str;
 if (week == 0) {
  str = "日";
 } else if (week == 1) {
  str = "一";
 } else if (week == 2) {
  str = "二";
 } else if (week == 3) {
  str = "三";
 } else if (week == 4) {
  str = "四";
 } else if (week == 5) {
  str = "五";
 } else if (week == 6) {
  str = "六";
 }
 return "星期" + str;
}

/**
 * 將對象轉成get請求參數形式
 * 如?param1=value1&param2=value2
 */
function changeParamToStr(param) {
 var result = "";
 if (param) {
  for ( var i in param) {
   result += "&" + i + "=" + param[i];
  }
 }
 if (result != "") {
  result = "?" + result.substring(1);
 }
 return result;
}

/**處理等待遮罩層*/
function onLoading(selector, msg) {
    var offset = $(selector).offset();

    var dialog = $("<div class='diy-msk'></div>").dialog({
  modal : true
 });
 $(dialog).parent().css("display", "none");
 $(dialog).parent().next().css("display", "none");
 
    $("<div class='datagrid-mask-msg'></div>").html(!msg ? "正在處理中,請稍候..." : msg)
        .appendTo(selector).css({
            display : "block",
            left : ($(document.body).outerWidth(true) - 190) / 2,
            top : offset.top + ($(selector).height() - 45) / 2
        });
}

/**移除等待遮罩層*/
function removeLoad(selector) {
 $(selector + " .panel window").remove();
 $(selector + " .window-shadow").remove();
 $(selector + " .window-mask").remove();
 $(selector + " .datagrid-mask-msg").remove();
}

/**創建上傳視窗 公共方法,chunk 是否分割大文件,callBack 上傳成功之後的回調*/
function Uploader(root, param,callBack){
 var addWin = $("<div style='overflow: hidden;'/>");
 var upladoer = $("<iframe/>");
 upladoer.attr({"src":root+"/plupload/uploader.jsp"+changeParamToStr(param),
   width:"100%",height:"100%",frameborder:"0",scrolling:"no"});
 addWin.window({
  title:"上傳文件",
  height:350,
  width:550,
  minimizable:false,
  modal:true,
  collapsible:false,
  maximizable:false,
  resizable:false,
  content:upladoer,
  onClose:function(){
   var fw = GetFrameWindow(upladoer[0]);
   var files = fw.files;
   $(this).window("destroy");
   callBack.call(this,files);
  },
  onOpen:function(){
   var target = $(this);
   setTimeout(function(){
    var fw = GetFrameWindow(upladoer[0]);
    fw.target = target;
   },100);
  }
 });
}

/**根據iframe對象獲取iframe的window對象*/
function GetFrameWindow(frame){
 return frame && typeof(frame)=="object" && frame.tagName == "IFRAME" && frame.contentWindow;
}

/**到年日期格式*/
function yearFormatter(date) {
 return date.Format("yyyy");
}
/**到年解析日期*/
function yearParser(date) {
 if(date != "") {
  date += "-01-01";
  return new Date(Date.parse(date.replace(/-/g, "/")));
 } else {
  return new Date(); 
 }
}

/**到月日期格式*/
function monthFormatter(date) {
 return date.Format("yyyy-MM");
}
/**到月解析日期*/
function monthParser(date) {
 if(date != "") {
  date += "-01";
  return new Date(Date.parse(date.replace(/-/g, "/")));
 } else {
  return new Date(); 
 }
}

/**處理datagrid合併*/
function sks_handleMerge(id, obj) {
 for(var i in obj) {
  var arr = obj[i];
  if(null != arr && arr.length > 0) {
   for(var j in arr) {
    $(id).datagrid("mergeCells", {
     index : arr[j].index,
     type : "footer",
     field : i,
     rowspan : arr[j].rowspan,
     colspan : 0
    });
   }
  }
 }
}


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首先不得不提的一個概念是, 類 與 對象; 這在 任何面向對象的語言中, 都是一個優先度極高的概念, 我首先瞭解到的概念則是: 類是對象的集合, 是對象的抽象化, 對象是類的實例, 是類的具象化. 在歸納總結中, 將具有某些共同屬性 及 方法的概念, 實物, 進行抽象化, 就是在 java 中常常談 ...
  • 實現網站驗證碼切換功能 一、樣例 樣例1、 樣例2、 二、實現原理 三、實現代碼 com.fry.servlet.VerifyCodeServlet verifyCode.html 要讓按鈕一直能點 ...
  • 創建類創建對象 一、什麼是成員變數 對象的一些狀態特征使用成員變數表示 二、行為什麼什麼表示 對象的 行為 使用 方法 表示 三、如何創建對象 class 類名{0 ~ N個成員變數0 ~ N個方法} 註意1:若類使用public修飾,則當前所在的文件名必須和類名相同2:類型必須符合標識符的命名規範 ...
  • 平時在寫的代碼過程中,經常會遇到對對象Object的數據處理。而在對對象的數據處理中,操作最頻繁的是“數據引用”、“值的修改”、“獲取關鍵字(屬性)”。平時最煩的也是“獲取關鍵字”,經常忘記怎麼去獲取,這裡做一下整理。 既然要"獲取關鍵字",那麼得首先有一個對象才行。創建對象的方式很多,我自己慣用的 ...
  • 一般我發現slot都是用在子組件 不知道對不對,不對的請留言指教 ,謝謝謝謝 使用slot場景一: 子組件Minput.vue 父組件 Minput 這種情況下 Minput標簽內的文字是不會渲染出來的 如果現在想在裡面把文字渲染出來怎麼辦 好 用slot 子組件 這樣的話,父組件的裡面的文字就可以 ...
  • 今天在調試bug的時候有一個需求,我需要知道我的代碼中有哪些地方在修改body的style,然後我想到了DOM節點監聽。 為body添加斷點然後開始調試,但是現在的前端技術棧太複雜,即使打了斷點也會跳進第三方包里。調用棧里有太多無關的js代碼,妨礙調試。 所以你可以選中文件右擊後,選擇Blackbo ...
  • 在開發的過程中,幾乎不可能一次性就能寫出毫無破綻的程式,斷點調試代碼是一個普遍的需求。 作為前端開發工程師,以往我們開發的JavaScript程式都運行在瀏覽器端,利用Chrome提供的開發者工具就可以方便的進行源碼斷點調試。其步驟有四,詳情不表,粗略概括如下: 但是,當我們用JavaScript開 ...
  • 控制項概述 Google Maps 上的地圖包含用戶界面元素,可以讓用戶通過地圖進行交互。這些元素稱為“控制項”。您可以在 Google Maps API 應用程式中添加這些控制項的多種組合。或者,您也可以不進行任何操作,讓 Google Maps API 處理所有控制項行為。 Google Maps AP ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...