第一部分 JavaScript工具函数


转义特殊字符为html实体


 
HtmlEncode: function(str){
return str.replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/'/g, '&apos;');
},

验证是否为有效的手机电话号码


 
IsMobile: function(str){
var rp = /^1[3|4|5|7|8][0-9]\d{4,8}$/;
return rp.test(str);
},

验证是否为有效的座机电话号码


 
IsTel: function(str){
var rp = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
return rp.test(str);
},

清除左空格/右空格


 
Ltrim: function(str){ return str.replace( /^(\s*| *)/, ""); },
Rtrim: function(str){ return str.replace( /(\s*| *)$/, ""); },

清除左右空格


 
Trim: function(str){
return this.Ltrim(this.Rtrim(str));
},

判断是那种类型的浏览器


 
WhichBrowser: function(){
var userAgent = navigator.userAgent;
 
var isOpera = userAgent.indexOf("Opera") > -1;
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera;
var isFF = userAgent.indexOf("Firefox") > -1;
var isCH = userAgent.indexOf("Chrome") > -1;
var isSafari = userAgent.indexOf("Safari") > -1;
 
if (isIE){
var IE5 = IE55 = IE6 = IE7 = IE8 = false;
var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
var fIEVersion = parseFloat(RegExp["$1"]);
IE55 = fIEVersion == 5.5;
IE6 = fIEVersion == 6.0;
IE7 = fIEVersion == 7.0;
IE8 = fIEVersion == 8.0;
if (IE55) {
return "IE55";
}
if (IE6) {
return "IE6";
}
if (IE7) {
return "IE7";
}
if (IE8) {
return "IE8";
}
}
 
if (isFF) {
return "Firefox";
}
if (isCH) {
return "Chrome";
}
if (isOpera) {
return "Opera";
}
if (isSafari) {
return "Safari";
}
},

获取客户端浏览器cookie


 
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 '';
},

设置客户端浏览器cookie


 
SetCookie: function(c_name, value, expiredays){
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
},
};

第二部分 插件工具


Dialog对话框

 
;(function($){
var DialogBox = function(options){
this.defaults = {
'height': 350,
'width': 500,
'title': '',
'content': '',
'action': ''
};
this.options = $.extend(this.defaults,options);
};
 
DialogBox.prototype = {
 
mask: '',
dialogBox: '',
 
close: function(){
var self = this;
self.mask.remove();
self.dialogBox.remove();
},
 
resize: function(){
var self = this;
var w_h = $(window).height();
var w_w = $(window).width();
 
var pos_l = w_w/2-self.defaults.width/2;
var pos_t = w_h/2-self.defaults.height/2;
self.dialogBox.css({
'top': pos_t,
'left': pos_l
});
},
 
init: function(){
var self = this;
 
// mask
var d_w = $(document).width();
var d_h = $(document).height();
var w_h = $(window).height();
var w_w = $(window).width();
 
var mask = $('<div class="dialog-mask"></div>');
mask.css({
'height': d_h,
'width': d_w
});
 
// dialog-box
var dialog_out = $('<div class="dialog-out"></div>');
var pos_l = w_w/2-self.defaults.width/2;
var pos_t = w_h/2-self.defaults.height/2;
dialog_out.css({
'height': self.defaults.height,
'width': self.defaults.width,
'top': pos_t,
'left': pos_l
});
 
// insert html
var inner = $('<div class="dialog-inner"></div>');
inner.html(self.defaults.content);
dialog_out.append(inner);
 
// close-btn
var close = $('<div class="close-btn" title="关闭"></div>');
close.click(function(){
self.close();
});
dialog_out.append(close);
 
// action-btn
var action_btn = $('<button class="action-btn ibtn">确认</button>');
dialog_out.append(action_btn);
if(typeof self.defaults.action === 'function'){
action_btn.click(function(){
self.defaults.action();
});
}else{
action_btn.click(function(){
self.close();
});
}
 
// add to body
$(document.body).append(dialog_out);
$(document.body).append(mask);
 
self.mask = mask;
self.dialogBox = dialog_out;
 
window.onresize = function(){
self.resize();
};
 
return self;
}
};
 
$.fn.deYuanDialog = function(options){
var dialog = new DialogBox(options);
return dialog.init();
};
})(jQuery);

Tips


 
;(function($){
var Tip = function(element,options){
this.element = element;
this.defaults = {
'height': 27,
'width': 150,
'content': '温馨提示',
'background-color': '#000000',
};
this.options = $.extend(this.defaults,options);
};
 
Tip.prototype = {
 
hide: function(){
//$(self.element).remove();
},
 
init: function(){
var self = this;
var element = self.element;
var pos_l = element.offset().left;
var pos_t = element.offset().top;
 
var tip_out = $('<div class="tip-out"><span class="tip-arrow"></span></div>');
var tip_body = $('<div class="tip-body"></div>');
tip_body.html(self.defaults.content);
tip_out.append(tip_body);
tip_out.css({
'left': pos_l,
'top': pos_t - self.defaults.height - 13,
}).show();
$(document.body).append(tip_out);
 
function hide(){
tip_out.stop().fadeOut('slow',function(){tip_out.remove();});
}
 
setTimeout(hide,3000);
 
return self;
}
};
 
$.fn.deYuanTip = function(options){
var tip = new Tip(this,options);
return tip.init();
};
})(jQuery);

Banner


 
;(function($){
 
var Scrolling = function(element,options){
this.element = element;
this.defaults = {
'height': 400, // 默认高度
'interval': 3000 // 默认时间间隔ms
};
this.options = $.extend(this.defaults,options);
};
 
Scrolling.prototype = {
d_w : 0, // 浏览器宽度
sort: 0, // 图片顺序
count : 0, // 图片数量
 
// 分页按钮
scrollBtn: function(i){
var step = parseInt(i) ? parseInt(i) : 0;
var self = this;
var element = $(self.element);
var banner = element.find('.banner-inner');
 
banner.stop().animate({
'left': -self.d_w * step
});
 
return this;
},
 
// 初始化
init: function(){
var self = this;
var element = $(self.element);
self.d_w = $(document).width();
 
var inner = element.find('.banner-inner');
var a = inner.find('a');
self.count = a.length - 1;
//设置包裹容器高宽
var wrap = element.find('.banner-img');
wrap.css({
'height': self.defaults.height,
'width': self.d_w
});
// 设置内容器高宽
inner.css({
'height': self.defaults.height,
'width': (self.count+1) * self.d_w
});
// 设置内容高宽
a.css({
'height': self.defaults.height,
'width': self.d_w
});
// 设置btn点击事件
var pages = element.find('li');
pages.each(function(i){
var page = $(this);
page.on('mousedown',function(){
pages.removeClass('page-active');
$(this).addClass('page-active');
self.sort = i;
self.scrollBtn(self.sort);
});
});
var btns = element.find('.banner-btn');
btns.remove();
var len = pages.length;
btns.each(function(){
var btn = $(this);
btn.on('mousedown',function(){
var left = $(this).hasClass('left-btn');
var right = $(this).hasClass('right-btn');
if(left){
if(self.sort < len - 1){
self.sort += 1;
}
self.scrollBtn(self.sort);
pages.removeClass('page-active');
pages.eq(self.sort).addClass('page-active');
}
if(right){
if(self.sort > 0){
self.sort -= 1;
}
self.scrollBtn(self.sort);
pages.removeClass('page-active');
pages.eq(self.sort).addClass('page-active');
}
});
});
 
// 当窗口改变大小时重新初始化banner
window.onresize = function(){
self.init();
};
 
return this;
},
 
// 自动播放
scrollAuto: function(){
var self = this;
var banner = $(self.element).find('.banner-inner');
var element = $(self.element);
var btns = element.find('li');
function scroll(){
if(self.sort <= self.count){
banner.stop().animate({
'left': (-self.d_w * self.sort)
});
 
btns.removeClass('page-active');
btns.eq(self.sort).addClass('page-active');
 
self.sort++;
}else{
self.sort = 0;
banner.stop().animate({
'left': 0
});
}
}
setInterval(scroll, self.defaults.interval);
}
};
 
$.fn.deYuanBanner = function(options){
var scrolling = new Scrolling(this, options);
scrolling.init().scrollAuto();
}
})(jQuery);

GotoTop


  • 当窗口滚动大于300px时出现回底部按钮
 
var gotop = $('<div class="go-to-top" title="回到顶部"></div>');
$(document.body).append(gotop);
$(window).scroll(function(){
if($(window).scrollTop()>300){
gotop.fadeIn('fast');
}else{
gotop.fadeOut('fast');
}
});
gotop.click(function(){
$('body,html').animate({scrollTop:0},1000);
});

判断用户是否用低版本的IE浏览器访问网页,如是,则提醒升级


 
var oldIE = new Array('IE55','IE6','IE7','IE8');
var browser = $Dy.WhichBrowser();
if(oldIE.toString().indexOf(browser)>-1){
function append(){
var old_browser = $('<div class="old-browser">您的浏览器版本过低,为您让您获得更好的浏览体验,请您升级至高版本浏览器,如IE10,Firefox,Chrome。</div>');
var close = $('<span class="old-close" title="关闭">×</span>');
old_browser.append(close);
$(document.body).prepend(old_browser);
old_browser.fadeIn();
 
close.click(function(){
$Dy.SetCookie('old_browser_warn',true,1);
old_browser.remove();
});
}
 
var is_close = $Dy.GetCookie('old_browser_warn');
if(is_close.length===0){
setTimeout(append,2000);
}
}

javascript工具函数的更多相关文章

  1. javascript 工具函数

    转义特殊字符为html实体 HtmlEncode: function(str){ return str.replace(/&/g, '&').replace(/\"/g, ' ...

  2. JQuery中的工具函数总结

    前提引入 前提当然也是要引入Jquery啦... <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" typ ...

  3. 五、jquery使用工具函数

    工具函数对应的网址在 http://api.jquery.com/categouy/utilities/   工具函数处理对象的不同,可以将其分为几大类别:浏览器的检测.数组和对象的操作.字符串的操作 ...

  4. jQuery工具函数(转)

    原文地址:http://www.cnblogs.com/kissdodog/archive/2012/12/27/2835561.html 作者:逆心 ------------------------ ...

  5. jQuery实用工具函数

    1. 什么是工具函数 在jQuery中,工具函数是指直接依附于jQuery对象.针对jquery对象本身定义的说法,即全局性的函数,我们统称为工具函数,或Utilities函数.它们有一个明显的特征, ...

  6. 读&lt;jQuery 权威指南&gt;[6]--实用工具函数

    官方地址:http://api.jquery.com/category/utilities/ 一.数组和对象操作 1. $.each——遍历 $.each(obj,function(param1,pa ...

  7. AJAX编程-封装ajax工具函数

    即 Asynchronous [e'sɪŋkrənəs] Javascript And XML,AJAX 不是一门的新的语言,而是对现有技术的综合利用.本质是在HTTP协议的基础上以异步的方式与服务器 ...

  8. 4月13日学习笔记——jQuery工具函数

    浏览器及特性检测 jQuery.support.boxModel 如果这个页面和浏览器是以 W3C CSS 盒式模型来渲染的,则等于 true.通常在 IE 6 和 IE 7 的怪癖模式中这个值是 f ...

  9. 从零开始学习jQuery (九) jQuery工具函数

    一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 我们经常要使用脚本处理各种业务逻辑, 最常见的就 ...

随机推荐

  1. MongoVue中Collections无法显示的问题

    问题描述: 通过Python向MongoDB写入数据后,MongoVue中Collections无法显示的问题 原因: Mongodb 3.0之后默认的 storageEngine为wiredTige ...

  2. WPF资源使用

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...

  3. NOIP模拟赛 行走

    题目描述 “我有个愿望,我希望走到你身边.” 这是个奇异的世界,世界上的n-1条路联结起来形成一棵树,每条路有一个对应的权值ci. 现在我会给出q组询问或操作. 每次询问我会从一个x点走到y点,初始在 ...

  4. 取数据的前N行

    用awk中csv文件中取前1000行出来,代码虽少,很容易出错 BEGIN{ FS=","; OFS=","; i=; } { i++; )exit; prin ...

  5. Linux命令:nohup、df、du与/dev/null

    早上开始工作时发现服务器挂掉了,重启TongWeb时有报错: 上面的红框圈错了,第一个红框的下一行: java.io.IOException: No Space left on device 我们用d ...

  6. C# 关于时间

    1.2016/7/8 00:10:10 转换成 2016-07-08T 00:10:10 在用VB动态调用WevService的时候,传入的时间格式为2016/7/8 00:10:10,导致调用出错, ...

  7. CSS定位小技巧

    CSS定位Static 默认定位Relative 相对定位:left 和topposition: relative;/*相对定位*/ left:40px;/*在原来的位置向右移动*/ top:100p ...

  8. poj 1251 统计难题(字典树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251 AC代码: #include<iostream> #include<algor ...

  9. (原创)鸟哥linux学习script shell相关笔记

    在使用鸟哥linux进行script shell学习的过程中碰到一些不太明白的知识点,在这里进行一些记录 1. [root@www scripts]# vi sh03.sh #!/bin/bash # ...

  10. mysql监控管理工具--innotop

    https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/innotop/innotop-1.9. ...