第一部分 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. JavaScript封装Ajax工具函数及jQuery中的ajax,xhr在IE的兼容

    封装ajax工具函数 首先要思考:1.为什么要封装它?提高开发效率2.把一些不确定的情况考虑在其中 a. 请求方式 b. 请求地址 c. 是否异步 d. 发送参数 e. 成功处理 f. 失败处理3.确 ...

  3. 常用的工具函数助力JavaScript高效开发

    前言 日常开发中,面对各种不同的需求,我们经常会用到以前开发过的一些工具函数,把这些工具函数收集起来,将大大提高我们的开发效率. 1.校验数据类型 export const typeOf = func ...

  4. javascript 实用工具函数

    整理日常开发中我们常常会使用到的一些工具函数. var utils = (function(){ var fay = {}; // 返回当前时间的毫秒数 fay.getTime = Date.now( ...

  5. javascript常用工具函数总结(不定期补充)未指定标题的文章

    前言 以下代码来自:自己写的.工作项目框架上用到的.其他框架源码上的.网上看到的. 主要是作为工具函数,服务于框架业务,自身不依赖于其他框架类库,部分使用到es6/es7的语法使用时要注意转码 虽然尽 ...

  6. JavaScript常用工具函数

    检测数据是不是除了symbol外的原始数据 function isStatic(value) { return ( typeof value === 'string' || typeof value ...

  7. JQuery中的工具函数总结

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

  8. 五、jquery使用工具函数

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

  9. jQuery工具函数(转)

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

随机推荐

  1. linux命令:chgrp

    1.命令介绍: chgrp用来改变文件或目录所属组的权限,要改变成的组必须在/etc/group文件存在才可以. 2.命令格式: chgrp [选项] 组 文件 3.命令参数: 必要参数: -c 当发 ...

  2. windows下开启mysql表名大小限制

    找到my.ini文件 在文件中找到 [mysqld]的下面, 看有没有 [mysqld] lower_case_table_names 的设置, 如果没有 添加lower_case_table_nam ...

  3. php生成唯一订单号

    支持更改长度/** * 生成唯一订单号 * */ function build_order_no(){ return date('Ymd').substr(implode(NULL, array_ma ...

  4. [转]: 两分钟彻底让你明白Android Activity生命周期(图文)!

    转自:http://blog.csdn.net/android_tutor/article/details/5772285 大家好,今天给大家详解一下Android中Activity的生命周期,我在前 ...

  5. foreach为什么要实现IEnumerable接口而不是直接用IEnumerator接口

    在.Net中,要想被foreach遍历,那么目标对象要实现IEnumerable或IEnumerable<T>接口,这个接口有一个方法,GetEnumerator(),返回一个IEnume ...

  6. Objective-C 代码块(block)的使用

    代码块本质上是和其他变量类似.不同的是,代码块存储的数据是一个函数体.使用代码块是,你可以像调用其他标准函数一样,传入参数数,并得到返回值. 脱字符(^)是块的语法标记.按照我们熟悉的参数语法规约所定 ...

  7. Python 基礎 - 文件操作_v2

    嗯,那如何要把游標的位置給打印來? #!/usr/bin/env python3 # -*- coding:utf-8 -*- f = open('test', 'r') print(f.tell() ...

  8. C语言基础回顾

    第一章 C语言基础 1.  C语言编译过程 预处理:宏替换.条件编译.头文件包含.特殊符号 编译.优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码 ...

  9. memcache命中统计

    把memcache.php放在可以访问的位置,默认账户admin,密码admin 参考http://a.linji.cn/2011/12/memcachedphp.txt http://linji.c ...

  10. java 读写properties

    网速不好:先贴上资料: Java配置文件Properties的读取.写入与更新操作 [Spring] - Property注入 http://www.360doc.com/content/14/073 ...