js常用util
/** 日期格式化 */
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¶m2=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
});
}
}
}
}
js常用util的更多相关文章
- Node.js 常用工具util包
Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.isError(obj); util.is ...
- JS常用校验方法(判断输入框是否为空,数字,电话,邮件,四舍五入等)
JS常用校验方法: 1.判断输入框是否为空,为空时弹出提示框 2.关闭窗口 3.检查输入字符串是否为数字 4.强制把大写转换成小写 5.手机号码校验,长度为11位数字. 6.电子邮件校验 7.电话号码 ...
- Node.js 常用工具
Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.inherits util.inherit ...
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
- Js常用技巧
摘录:http://crasywind.blog.163.com/blog/static/7820316920091011643149/ js 常用技巧 1. on contextmenu=" ...
- JS常用的标准函数
原文:JS常用的标准函数 1.Array类型函数 array.concat(item...) 函数功能:关联数组,实现数组相加功能,但并不影响原先数组,concat返回新数组. array.join( ...
- JS 常用功能收集
JS 常用效果收集 1. 回到顶部>> 爱词霸
- JS常用正则表达式备忘录
摘要: 玩转正则表达式. 原文:JS常用正则表达式备忘录 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 正则表达式或"regex"用于匹配字符串的各个部分 下面是 ...
- js常用数据类型(Number,String,undefined,boolean) 引用类型( function,object,null ),其他数据类型( 数组Array,时间Date,正则RegExp ),数组与对象的使用
js常用数据类型 数字类型 | 字符串类型 | 未定义类型 | 布尔类型 typeof()函数查看变量类型 数字类型 Number var a1 = 10; var a2 = 3.66; conso ...
随机推荐
- Thrift文件加载
一.简述 通过前面的分析,我们知道无论是创建一个客户端还是服务器,第一步要做的就是调用thriftpy.load对thrift文件进行解析,并在内存中构建相应的module,本文将对load方法进行一 ...
- Linux- 关于windows和Linux和Mac的换行符
windows 的换行符为"\r\n" Linux的换行符为"\n" Mac的换行符为"\n\r",和Windows相反
- 用python实现的抓取腾讯视频所有电影的爬虫
1. [代码]用python实现的抓取腾讯视频所有电影的爬虫 # -*- coding: utf-8 -*-# by awakenjoys. my site: www.dianying.atim ...
- 如何理解Box-sizing模型?
CSS3 box-sizing 属性 http://www.w3school.com.cn/tiy/t.asp?f=css3_box-sizing <style> div.containe ...
- Java_异常_04_ OutOfMemoryError系列
二.参考资料 1.铁猫 OutOfMemoryError系列(1): Java heap space OutOfMemoryError系列(2): GC overhead limit exceeded ...
- 【leetcode刷题笔记】Valid Palindrome
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignori ...
- python密钥登录主机
#!/usr/bin/python # -*- coding:utf-8 -*- ################################### # # 检查主机的损坏磁盘 # ####### ...
- [BZOJ2780][SPOJ8093]Sevenk Love Oimaster
bzoj luogu 题面 给定n个模板串,以及m个查询串. 依次查询每一个查询串是多少个模板串的子串. sol 广义后缀自动机裸题? 先建出\(SAM\),然后记录一下每个节点分别在多少个模板串里出 ...
- ACM学习历程—HDU1023 Train Problem II(递推 && 大数)
Description As we all know the Train Problem I, the boss of the Ignatius Train Station want to know ...
- java静态方法(变量)、非静态方法(变量)区别
java静态方法.静态变量在调用时生成唯一标识,即在内存中给定一个静态位子,这样在调用时可以直接找到,而且会节省内存.但如果声明的静态方法.静态变量过多,会占用过多内存,有可能导致内存溢出. 非静态方 ...