扩展
定义对象
字符串转json对象
/**
* 字符串转json对象
*/
zj.toJson = function(result) {
if (typeof result == "string") {
return eval("(" + result + ")");
} else {
return result;
}
}
格式化字符串
/**
* @author 张剑 使用方法:zj.formatString('字符串{0}字符串{1}字符串','第一个变量','第二个变量');
*
* @returns 格式化后的字符串
*/
zj.formatString = function(str) {
for (var i = 0; i < arguments.length - 1; i++) {
str = str.replace("{" + i + "}", arguments[i + 1]);
}
return str;
};
字符串转数组
/**
* @author 张剑
*
* 接收一个以逗号分割的字符串,返回List,list里每一项都是一个字符串
*
* @returns list
*/
zj.stringToList = function(value) {
if (typeof value == "object") {
return value;
} else if (value != undefined && value != '') {
var values = [];
console.info(value);
var t = value.split(',');
for (var i = 0; i < t.length; i++) {
values.push('' + t[i]);/* 避免他将ID当成数字 */
}
console.info(values);
return values;
} else {
return [];
}
};
清空form表单
/**
* 清空form表单
*/
zj.clearForm = function(form) {
$(':input', form).each(function() {
var type = this.type;
var tag = this.tagName.toLowerCase();
if (type == 'text' || type == 'password' || tag == 'textarea') {
this.value = "";
} else if (type == 'checkbox' || type == 'radio') {
this.checked = false;
} else if (tag == 'select') {
this.selectedIndex = -1;
}
});
};
日期格式化
/**
* 日期格式化
*
* @param format
* @returns
*/
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()
}
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;
}
隐藏域中进行同步get提交
/**
* 在当前页面创建隐藏iframe并提交
*/
zj.iframeGet = function(url) {
var nowDate = new Date().getSeconds() + '';
var iframe;
try {
iframe = document.createElement('<iframe name="' + nowDate + '">');
} catch (ex) {
iframe = document.createElement('iframe');
}
iframe.name = nowDate;
iframe.width = 0;
iframe.height = 0;
iframe.marginHeight = 0;
iframe.marginWidth = 0;
document.body.appendChild(iframe);
console.info(nowDate);
window.open(url, nowDate);
console.info(nowDate);
}
js进行post同步提交
/**
* js进行post同步提交
*/
zj.post = function(URL, PARAMS) {
var temp = document.createElement("form");
temp.action = URL;
temp.method = "post";
temp.style.display = "none";
for ( var x in PARAMS) {
var opt = document.createElement("textarea");
opt.name = x;
opt.value = PARAMS[x];
temp.appendChild(opt);
}
document.body.appendChild(temp);
temp.submit();
}
获取字符串的分隔符之前部分
/**
* 获取字符串的分隔符之前部分
*/
zj.getLeftStr = function(str, delimiter) {
return str.substring(0, str.indexOf(delimiter));
}
获取浏览器信息
/**
* 获取浏览器信息
*/
zj.getBoswerMsg = function() {
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
var scan;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : (s = ua
.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : (s = ua
.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : (s = ua
.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : (s = ua
.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
// 以下进行测试
if (Sys.ie) {
scan = {
"bowser" : "ie",
"version" : zj.getLeftStr(Sys.ie, ".")
};
}
if (Sys.firefox) {
scan = {
"bowser" : "firefox",
"version" : zj.getLeftStr(Sys.firefox, ".")
};
}
if (Sys.chrome) {
scan = {
"bowser" : "chrome",
"version" : zj.getLeftStr(Sys.chrome, ".")
};
}
if (Sys.opera) {
scan = {
"bowser" : "opera",
"version" : zj.getLeftStr(Sys.opera, ".")
};
}
if (Sys.safari) {
scan = {
"bowser" : "safari",
"version" : zj.getLeftStr(Sys.safari, ".")
};
}
console.info(scan);
return scan;
}
格式化小数
zj.formatFloat = function(num, pos) {
return Math.round(num * Math.pow(10, pos)) / Math.pow(10, pos);
}