通用js类库
/* 其它通用函数 */
$(function() {
//
var General = function() {
var _self = this;
/* 写 cookie 操作 */
_self.SetCookie = function(c_name, value, expireTime, dhm) {
var exdate = new Date();
if (dhm == "d") {
exdate.setDate(exdate.getDate() + parseInt(expireTime, 10));
}
else if (dhm == "h") {
exdate.setHours(exdate.getHours() + parseInt(expireTime, 10));
}
else if (dhm == "m") {
exdate.setMinutes(exdate.getMinutes() + parseInt(expireTime, 10));
}
document.cookie = c_name + "=" + escape(value) + ((expireTime == null) ? "" : ";expires=" + exdate.toGMTString());
};
/* 读 cookie 操作 */
_self.GetCookie = function(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=")
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) {
c_end = document.cookie.length;
}
return unescape(document.cookie.substring(c_start, c_end));
}
}
return null
};
/* 删除 cookie 操作 */
_self.DeleteCookie = function(c_name) {
var exdate = new Date();
exdate.setDate(exdate.getDate() - parseInt(3650, 10));
document.cookie = c_name + "=;expires=" + exdate.toGMTString();
};
/* 生成GUID */
_self.GUID = function() {
// 8 4 4 4 12
var times = [8, 4, 4, 4, 12];
var baseStr = "abcdefg56789hijklm12389nopqrst45670uvwxyz12340";
var gui = new Array();
for (var i = 0; i < times.length; i++) {
var guid = new Array();
for (var j = 0; j < times[i]; j++) {
guid.push(baseStr.substr(_self.RandomNumber(baseStr.length), 1));
}
gui.push(guid.join(""));
}
return gui.join("-");
};
/* 生成随机数 */
_self.RandomNumber = function(range) {
return parseInt(Math.floor(Math.random() * range), 10);
};
/* 字符串转换成日期 */
_self.ConvertToDate = function(str) {
var y = parseInt(str.split('-')[0], 10);
var m = parseInt(str.split('-')[1], 10) - 1;
var d = parseInt(str.split('-')[2].split(' ')[0], 10);
var h = parseInt(str.split('-')[2].split(' ')[1].split(':')[0], 10);
var mm = parseInt(str.split('-')[2].split(' ')[1].split(':')[1], 10);
var s = parseInt(str.split('-')[2].split(' ')[1].split(':')[2], 10);
var dt = new Date(y, m, d, h, mm, s, 0);
return dt;
};
/* 日期转换成字符串 */
_self.ConvertDateToString = function(dt) {
var y = dt.getFullYear();
var m = "0" + (dt.getMonth() + 1);
var d = "0" + dt.getDate();
var h = "0" + dt.getHours();
var mm = "0" + dt.getMinutes();
var s = "0" + dt.getSeconds();
m = m.substr(m.length - 2, 2);
d = d.substr(d.length - 2, 2);
h = h.substr(h.length - 2, 2);
mm = mm.substr(mm.length - 2, 2);
s = s.substr(s.length - 2, 2);
return y + "-" + m + "-" + d + " " + h + ":" + mm + ":" + s;
};
/* 样式表样式 */
/* 在Firefox中,无法直接取得样式表样式 */
_self.Style = function(element, style, isColor) {
if (!$.browser.msie) {
// FF等支持
if (isColor) {
return document.defaultView.getComputedStyle(element, null).getPropertyValue(style).toHEX();
}
else {
return document.defaultView.getComputedStyle(element, null).getPropertyValue(style);
}
}
else {
//IE支持
if (isColor) {
style = style.replace("-top-", "-").replace("-right-", "-").replace("-bottom-", "-").replace("-left-", "-").replace("-color", "Color");
}
return element.currentStyle[style];
}
};
/* 判断是否为函数 */
_self.IsFunction = function(funcName) {
return typeof (eval(funcName)) == "function";
};
/* 输出AJAX返回XML错误结果 */
_self.AJAXMLErr = function(data) {
if ($(data).find("etdz>err").attr("data").indexOf("重新登录") != -1) {
window.location.href = "logout.aspx?x=" + Math.random();
}
};
/* 判断是否为有效日期 */
_self.ValidDate = function(dateStr) {
try {
var yy = dateStr.split('-')[0];
var mm = dateStr.split('-')[1];
var dd = dateStr.split('-')[2];
var a = new Date(parseInt(yy, 10), parseInt(mm, 10) - 1, parseInt(dd, 10), 0, 0, 0, 0);
var y = a.getFullYear();
var m = a.getMonth() + 1;
var d = a.getDate();
var myday = y + "-" + ("0" + m.toString()).substr(("0" + m.toString()).length - 2) + "-" + ("0" + d.toString()).substr(("0" + d.toString()).length - 2);
dateStr = yy + "-" + ("0" + mm).substr(("0" + mm).length - 2) + "-" + ("0" + dd).substr(("0" + dd).length - 2);
if (myday != dateStr) {
return false;
}
return true;
}
catch (Error) {
return false;
}
};
/* Request.QueryString */
_self.Request = {
QueryString: function(item) {
var svalue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)", "i"));
return svalue ? svalue[1] : svalue;
}
}
_self.ReLogin = function() {
_self.Trans();
var _un = _self.GetCookie("username") == null ? "" : _self.GetCookie("username").toString();
var rlHtml = "<p style=\"padding-bottom:10px;border-bottom:solid 1px #ccc;margin-bottom:20px;\" class=\"cRed\">身份失效,请重新登录!</p><p> 用户名:<input type=\"text\" class=\"rlTxt\" id=\"rlUsername\" value=\"" + _un + "\" /></p><p> 密码:<input type=\"password\" class=\"rlTxt\" id=\"rlPswd\" /></p><p> <button type=\"button\" id=\"btnReLogin\">登录</button> <input type=\"checkbox\" id=\"rlAuto\"/><label for=\"rlAuto\">自动登录</label></p><p style=\"padding-top:5px;\"> <span id=\"reLoginInfo\"></span></p>";
$("<div/>", { id: "innerLoginShadow", css: { top: ((document.documentElement.clientHeight - 300) / 2 - 8) + "px", left: ((document.documentElement.clientWidth - 280) / 2 - 8) + "px"} }).appendTo($("#_topTransLayer"));
var rl = $("<div/>", { id: "innerLogin", css: { top: ((document.documentElement.clientHeight - 300) / 2) + "px", left: ((document.documentElement.clientWidth - 280) / 2) + "px"} }).html(rlHtml).appendTo($("#_topTransLayer"));
if ($("#rlUsername").val() == "") {
$("#rlUsername").trigger("focus").trigger("select");
}
else {
$("#rlPswd").trigger("focus").trigger("select");
}
$("#btnReLogin").click(function() {
/* validation */
var un = $("#rlUsername").val().trim().clearHtmlTag();
if (un == "") {
$("#reLoginInfo").css({ color: "#f00" }).html("请填写用户名!");
$("#rlUsername").trigger("focus").trigger("select");
return;
}
if (!un.matchRegex(/^[0-9a-zA-Z]{1}[0-9a-zA-Z\@\_\.\-]{1,28}[0-9a-zA-Z]{1}$/)) {
$("#reLoginInfo").css({ color: "#f00" }).html("用户名格式错误!");
$("#rlUsername").trigger("focus").trigger("select");
return;
}
var pw = $("#rlPswd").val().trim().clearHtmlTag();
if (pw == "") {
$("#reLoginInfo").css({ color: "#f00" }).html("请填写密码!");
$("#rlPswd").trigger("focus").trigger("select");
return;
}
var autologin = $("#rlAuto").attr("checked");
$("#btnReLogin").hide();
$("#rlUsername").attr("disabled", true);
$("#rlPswd").attr("disabled", true);
$("#rlAuto").attr("disabled", true);
loginng = true;
var rli = 0;
(function() {
if (loginng) {
rli++;
if (rli % 2 == 0) {
$("#reLoginInfo").css({ color: "#000" }).html(" ");
}
else {
$("#reLoginInfo").css({ color: "#000" }).html("正在登录,请稍候");
}
setTimeout(arguments.callee, 500);
}
})();
/* login */
$.post("xmls/index_login.aspx?x=" + Math.random(), {
"un": un,
"pw": pw,
"auto": autologin,
"fromUrl": ""
}, function(data, textStatus) {
loginng = false;
rli = 0;
if ($(data).find("etdz>err").attr("data") == "null") {
$("#reLoginInfo").css({ color: "#690" }).html("登录成功!");
setTimeout(function() {
_self.HideTrans();
}, 500);
}
else {
$("#btnReLogin").show();
$("#rlUsername").attr("disabled", false);
$("#rlPswd").attr("disabled", false);
$("#rlAuto").attr("disabled", false);
var err = $(data).find("etdz>err").attr("data");
$("#reLoginInfo").css({ color: "#f00" }).html(err);
if (err.indexOf("用户名") != -1) {
$("#rlUsername").trigger("focus").trigger("select");
}
else if (err.indexOf("密码") != -1) {
$("#rlPswd").trigger("focus").trigger("select");
}
}
});
});
};
_self.Trans = function() {
var tl = $("<div/>", { id: "_topTransLayer", css: { position: "absolute", width: "10000px", height: "10000px", top: "0px", left: "0px", background: "url(img/blank.gif) repeat top left"} }).appendTo($("body"));
$("html").css({ "overflow-x": "hidden" });
return tl;
};
_self.HideTrans = function() {
$("#_topTransLayer").remove();
$("html").css({ "overflow-x": "auto" });
};
/* table info */
_self.TableInfo = function(listName) {
return $("#" + listName).parent().parent().find("span[class='tableName']:eq(1)");
};
_self.Alarm = function(msg, infoContainer) {
if (msg.indexOf('身份已失效,请重新登录!') != -1) {
_self.ReLogin();
}
else {
if (infoContainer == null) {
alert(msg);
}
else {
if ($(infoContainer) != null) {
$(infoContainer).html(msg);
}
}
}
};
_self.SetPager = function(allPages, _func) {
allPages = parseInt(allPages, 10);
if (allPages == 999999) {
$(".pageSummary").html("第" + _page + "页 ");
}
else {
$(".pageSummary").html("第" + _page + "/" + allPages + "页 ");
}
$(".firstPage").unbind("click").click(function() {
_page = 1;
_func();
});
$(".nextPage").unbind("click").click(function() {
if (_page + 1 > allPages) {
return;
}
_page++;
_func();
});
$(".prevPage").unbind("click").click(function() {
if (_page - 1 < 1) {
return;
}
_page--;
_func();
});
};
/* 其它 */
};
/* 通用函数实例 */
_G = new General();
/* 内页通用设置 */
if ($("script[src*='js/index.js']").length == 0) {
// form tabs
$("#tabs>span").click(function() {
$(".forms").hide();
$("#" + $(this).attr("target")).show();
$("#tabs>span").removeClass("on");
$(this).addClass("on");
});
// nav submenu
$("#top_top>a").mouseover(function() {
_onMenu = true;
$(document).unbind("click");
$("#submenu").hide().html("").css({ left: $(this).offset().left + "px" });
if ($(this).attr("submenu") == undefined) {
return;
}
var sm = $(this).attr("submenu").split(',');
for (var i = 0; i < sm.length; i++) {
$("<span/>").html("- " + sm[i].split('=')[0]).attr("href", sm[i].split('=')[1]).appendTo($("#submenu"));
}
$("#submenu").show();
$(document).click(function() {
$("#submenu").hide().html("");
_onMenu = false;
});
$("#submenu").unbind("mouseover").mouseover(function() {
$(document).unbind("click");
_onMenu = true;
}).unbind("mouseout").mouseout(function() {
$(document).unbind("click").click(function() {
$("#submenu").hide().html("");
_onMenu = false;
});
_onMenu = false;
setTimeout(function() {
if (!_onMenu) {
$(document).unbind("click");
$("#submenu").hide().html("");
_onMenu = false;
}
}, 5000);
});
$("#submenu>span").click(function() {
window.location.href = $(this).attr("href") + "?x=" + Math.random();
});
}).click(function() {
if ($(this).attr("submenu") != undefined) {
window.location.href = $(this).attr("submenu").split(',')[0].split('=')[1] + "?x=" + Math.random();
}
});
$("#frmMain").submit(function() {
return false;
});
}
});
var _G = null;
var _page = 1;
var _onMenu = false;
// *******************************************************
// *******************************************************
// *******************************************************
// the following should be change to false in runtime
var _DEBUG = true;
// *******************************************************
// *******************************************************
// *******************************************************
function ImagePreload(img) {
for (var i = 0; i < img.length; i++) {
var _img = img[i].split(',');
var im = new Image(parseInt(_img[0], 10), parseInt(_img[1], 10));
im.src = _img[2];
}
}
/* 清除字符串两边空格 */
String.prototype.trim = function() {
return this.replace(/(^\s*)|(\s*$)/g, "");
}
/* 清除字符串中的html字符 */
String.prototype.clearHtmlTag = function() {
return this.replace(/\>/g, '>').replace(/\</g, '<').replace(/\&/g, '&').replace(/\'/g, "''");
}
/* 匹配正则表达式 */
String.prototype.matchRegex = function(parten) {
if (parten.exec(this)) {
return true;
}
else {
return false;
}
}
/* 颜色转换10进制-16进制 */
// '0,255,255' > '#00ffff'
String.prototype.toHEX = function() {
var color10 = this;
if (color10.indexOf("#") != -1) {
return color10;
}
// if (color10.indexOf("rgb(") == 0) {
// color10 = color10.replace('rgb(', '').replace(')', '').replace(/\s/g, '');
// }
var r = parseInt(color10.split(',')[0], 10).toString(16);
var g = parseInt(color10.split(',')[1], 10).toString(16);
var b = parseInt(color10.split(',')[2], 10).toString(16);
r = ("0" + r).substr(("0" + r).length - 2);
g = ("0" + g).substr(("0" + g).length - 2);
b = ("0" + b).substr(("0" + b).length - 2);
return "#" + r + g + b;
}
/* 颜色转换16进制-10进制 */
// '#00ffcc' > Array()[r,g,b]
String.prototype.toDEC = function() {
var color16 = this;
if (!color16.matchRegex(/^\#[0-9a-zA-Z]{1,2}[0-9a-zA-Z]{1,2}[0-9a-zA-Z]{1,2}$/)) {
return color16;
}
if (color16.indexOf("#") == 0) {
color16 = color16.replace('#', '');
}
var r = parseInt(color16.substr(0, 2), 16);
var g = parseInt(color16.substr(2, 2), 16);
var b = parseInt(color16.substr(4, 2), 16);
return [r, g, b];
}
/* 字符串转XML对象 */
String.prototype.toXML = function() {
var xmlStr = this;
if ($.browser.msie) { // for ie
var xmlDom = new ActiveXObject("Microsoft.XMLDOM");
xmlDom.loadXML(xmlStr);
return $(xmlDom);
}
else { // for non-ie
var xmlDom = new DOMParser().parseFromString(xmlStr, "text/xml");
return $(xmlDom);
}
}
/* 字符串为空则转为 */
String.prototype.toNBSP = function() {
var str = this;
if (str.length == 0) {
return " ";
}
else {
return str;
}
}
/* 格式化金额 */
String.prototype.toPrice = function() {
var price = this;
price = parseFloat(price);
price = price.toFixed(2);
if (price.toString().indexOf(".") != -1) {
return price.toString().split('.')[0] + "." + (price.toString().split('.')[1] + "0").substr(0, 2);
}
else {
return price.toString() + ".00";
}
}
/* 反转字符串 */
String.prototype.reverse = function() {
var str = this;
var st = str.toString();
var newStr = new Array();
for (var i = 0; i < st.length; i++) {
newStr.push(st.substr(i,1));
}
st = newStr.reverse().join("");
newStr = null;
return st;
}
/* 判断某字符在字符串中出现的次数 */
String.prototype.timesOf = function(s) {
var str = this;
return str.split(s).length - 1;
}
var _sat = 100;
var _bri = 60;
通用js类库的更多相关文章
- 简单轻量级的一套JS 类库(RapidDevelopmentFramework.JS)
1.最近好久没有更新自己的博客了,一直在考虑自己应该写一些什么.4.2日从苏州回到南京的路上感觉自己的内心些崩溃和失落,我就不多说了? 猛然之间我认为自己需要找一下内心的平衡.决定开发属于自己一套快速 ...
- 封装的一套简单轻量级JS 类库(RapidDevelopmentFramework.JS)
1.最近好久没有更新自己的博客了,一直在考虑自己应该写一些什么.4.2日从苏州回到南京的路上感觉自己的内心些崩溃和失落,我就不多说了? 猛然之间我认为自己需要找一下内心的平衡.决定开发属于自己一套快速 ...
- 通用js函数集锦<来源于网络> 【二】
通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json ...
- 通用js函数集锦<来源于网络/自己> 【一】
通用js函数集锦<来源于网络/自己>[一] 1.返回一个全地址2.cookie3.验证用户浏览器是否是微信浏览器4.验证用户浏览器是否是微博内置浏览器5.query string6.验证用 ...
- 毫无保留开源我写的:IOS Android Ipad 多点触摸通用js 库
毫无保留开源我写的:IOS Android Ipad 多点触摸通用js 库 在线演示地址: http://m.yunxunmi.com/ 支持 IOS Android Ipad 等不同操作系统的手持或 ...
- 基于js-spark-md5前端js类库,快速获取文件Md5值
js-spark-md5是歪果仁开发的东西,有点多,但是我们只要一个js文件即可,具体类包我存在自己的oschina上,下载地址:https://git.oschina.net/jianqingwan ...
- 【js类库AngularJs】学习angularJs的指令(包括常见表单验证,隐藏等功能)
[js类库AngularJs]学习angularJs的指令(包括常见表单验证,隐藏等功能) AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀 ...
- 【js类库AngularJs】解决angular+springmvc的post提交问题
[js类库AngularJs]解决angular+springmvc的post提交问题 AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前 ...
- 如何在TypeScript中使用JS类库
使用流程 1.首先要清除类库是什么类型,不同的类库有不同的使用方式 2.寻找声明文件 JS类库一般有三类:全局类库.模块类库.UMD库.例如,jQuery是一种UMD库,既可以通过全局方式来引用,也可 ...
随机推荐
- GCD工作单元
#import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (weak,nonatomic ...
- 使用线程池模拟处理耗时任务,通过websocket提高用户体验
前言 在文章开始之前,询问一下大家平时工作中后端处理批量任务(耗时任务)的时候,前端是如何告知用户任务的执行情况的? 楼主对这个问题想了下,决定使用websokect将这一过程展现给用户. 于是就有了 ...
- abstract virtaul override new 及多态
abstract abstract 修饰符可以和类.方法.属性.索引器及事件一起使用.在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类.标记为抽象或包含在抽象类中的成员必须通过从 ...
- Zigbee技术特点
ZigBee工作原理 基于 ZigBee 的无线设备工作在 868MHZ, 915MHZ 和 2.4Z 频带.其最大数据速 率是 250Kbps. ZigBee 技术主要针对以电池为电源的应用,这些应 ...
- 取当前的地址栏的Url和url中的参数
看到这样一段代码: exports.showLogin = function (req, res) { req.session._loginReferer = req.headers.referer; ...
- linux中的进程管理
USER 那个用户启动的进程 PID 该进程的ID号 %CPU 占用的CPU百分比 %MEM 占用的物理内存百分比 VSZ 占用虚拟内存大小 KB RSS 占用实 ...
- 《TCP/IP详解卷1:协议》第6章 ICMP:Internet控制报文协议-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- HTML5——购物车
简要代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
- 前端自动化神器LiveReload配合浏览器和less/sass使用方法
前言:搜了半天,各种推荐,什么十大工具啦.优秀工具集合啦之类的咸淡文章,就是没有一个讲怎么弄的.配合官网的article自己研究了半天总算配置好了.顺便吐槽下官网关于sass/less设置这块说的模糊 ...
- Java设计模式-访问者模式(Visitor)
访问者模式把数据结构和作用于结构上的操作解耦合,使得操作集合可相对自由地演化.访问者模式适用于数据结构相对稳定算法又易变化的系统.因为访问者模式使得算法操作增加变得容易.若系统数据结构对象易于变化,经 ...