惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
Recent Announcements
Recent Announcements
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
A
About on SuperTechFans
Vercel News
Vercel News
博客园 - 【当耐特】
爱范儿
爱范儿
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
D
Docker
博客园 - 叶小钗
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
H
Help Net Security
I
InfoQ
博客园 - 三生石上(FineUI控件)
博客园 - Franky
Microsoft Azure Blog
Microsoft Azure Blog
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - 车神

怎么在本地进行域名解析 解决sql server数据库还原的时候出现一直显示还原中 密码正则表达式大全 UNIQUE约束添加规则 Linux配置nginx开机自启 netcore跨平台之 Linux部署nginx代理webapi 为.net Core WebApi 创建Linux守护进程 Linux-CentOS 部署 dotnetCore API /前端 VUE mongodb:常用命令大全 C# 如何获取SQL Server 中指定数据表的所有字段名和字段类型 SqlServer数据类型、C#SqlDbType对应关系及转换 vue+nginx编译部署 vue.js安装过程(npm安装) JS将/Date(1446704778000)/转换成str 如何提高ASP.NET页面载入速度的方法 SQL Server遍历表的几种方法 SQL2005语句实现行转列,列转行 sql中获取周、月、季度、年的第一天与最后一天 sql时间函数
javascript工具函数
车神 · 2016-09-27 · via 博客园 - 车神

第一部分 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;

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

});

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

});

var inner = $('<div class="dialog-inner"></div>');

inner.html(self.defaults.content);

dialog_out.append(inner);

var close = $('<div class="close-btn" title="关闭"></div>');

close.click(function(){

self.close();

});

dialog_out.append(close);

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();

});

}

$(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(){

},

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);


 

;(function($){

var Scrolling = function(element,options){

this.element = element;

this.defaults = {

'height': 400,

'interval': 3000

};

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

});

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');

}

});

});

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);

}

}