js常用总结
2016-10-31 13:35
232 查看
function mspGb2312(key) { var r = ""; for(var i=0;i<key.length;i++) { var t = key.charCodeAt(i); if(t>=0x4e00 || t==0x300A || t==0x300B) { try { execScript("ascCode=hex(asc(\""+key.charAt(i)+"\"))", "vbscript"); r += ascCode.replace(/(.{2})/g, "%$1"); } catch(e) {} } else{r += escape(key.charAt(i));} } return r; } //判断字符串是否为数字 var isIntNumber = function(String){ var Letters = "1234567890"; var i; var c; for( i = 0; i < String.length; i ++ ) { c = String.charAt( i ); if (Letters.indexOf( c ) < 0) return false; } return true; }; function trim(str){ if (typeof(str) != "undefined") return str.replace(/(^\s*)|(\s*$)/g, ""); } // 判断字符串是否符合邮件地址格式 var isEmail = function(strEmail) { if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) return true; else return false; }; //判断是否是域名 var isDomain = function(strDomain){ return(/^[-0-9a-zA-Z]+(\.[-0-9a-zA-Z]+)+(\/([-0-9a-zA-Z]+\.*[0-9a-zA-Z]+)*)*$/.test(strDomain)) } var isMobile = function(mobile) { return (/^1[3|4|5|8|7][0-9]\d{8}$/.test(mobile)); }; //判断是否是固定电话 var isTel = function(tel) { return (/^([0-9]{3,4}-)?[0-9]{7,8}$/.test(tel)); }; // 输入的回车换行和空格字符转换成html格式标签 function transformHtml(str){ // 将字符串以正确方式显示(包括回车,换行,空格) while(str.indexOf("\n")!=-1){ str = str.substring(0,str.indexOf("\n"))+"<br>"+str.substring(str.indexOf("\n")+1); } while(str.indexOf(" ")!=-1){ str = str.substring(0,str.indexOf(" "))+" "+str.substring(str.indexOf(" ")+1); } return str; } /* * iframe高度自适应 */ function iFrameHeight(iframeid) { var ifm = document.getElementById(iframeid); if(ifm.src!="#"){ var subWeb = document.frames ? document.frames[iframeid].document : ifm.contentDocument; if(ifm != null && subWeb != null) { ifm.height = subWeb.body.scrollHeight; } } } //js 数字 千位分组 function number_format(str) { str = String(str); var str1=""; if(str.indexOf(".")>-1){ str1=str.replace(/(\d*)(.\d*)/,"$2"); str1=str1.replace(/(\d{1,3})/g,"$1,"); str1 = str1.replace(/,$/, ''); str =str.replace(/(\d*)(.\d*)/,"$1"); } str = str.replace(/(?=(?:\d{3})+(?!\d))/g, ','); str = str.replace(/^,/, ''); str+=str1; return str; } /** * 历史回退 */ function historyBack(str,hrefStr){ var href=document.referrer; if(href.indexOf(str)>-1){ window.location=href; }else{ window.location=hrefStr; } } /** * 继续浏览广告 * imgDivId:包含切换图片的div的id * imgIndex:广告图片的index,-1代表当前图片的下一张, * num:图片个数 * direc:0->渐变,1->左右,2->上下 * speed:切换速去 */ function continueSwitchPic(imgDivId,imgIndex,direc,speed){ var num=$("#"+imgDivId+" .switchbtns .abtns").length; //curImgIndex:当前图片的index var curImgIndex=$("#"+imgDivId+" .switchbtns .abtns").index($("#"+imgDivId+" .switchbtns .curbtn")); if(imgIndex==curImgIndex){ return 0; } if(!speed&&speed!=0){ speed=1000; } if(imgIndex<0){ imgIndex=(curImgIndex==(num-1))?0:(curImgIndex+1); } if(!direc){ //切换按钮选中式样 $("#"+imgDivId+" .switchbtns .curbtn").removeClass("curbtn"); $("#"+imgDivId+" .switchbtns .abtns:eq("+imgIndex+")").addClass("curbtn"); var curObj=$("#"+imgDivId+" .imgsdiv .curimg"),nextObj=$("#"+imgDivId+" .imgsdiv .showimg:eq("+imgIndex+")"); if(speed!=0){ nextObj.css({opacity:"0",filter:"alpha(opacity=0)"}); curObj.stop().animate({opacity:"0",filter:"alpha(opacity=0)"},speed); nextObj.stop().animate({opacity:"1",filter:"alpha(opacity=100)"},speed); } curObj.removeClass("curimg"); nextObj.addClass("curimg"); } } /** * tab切换 */ function switchTab(tabsContentId,callback){ var thisObj=$(this), index=thisObj.index(), tabsContentObj=$("#"+tabsContentId); thisObj.siblings().removeClass("active"); thisObj.addClass("active"); tabsContentObj.children(".tab").css("display","none"); tabsContentObj.children(".tab").eq(index).css("display","block"); if(callback){ callback(thisObj,tabsContentId); } } /** * 判断包含多少个字节 */ function getBytesCount(str) { if (str == null) { return 0; }else{ var enterLen = 0; if(navigator.userAgent.indexOf("WebKit")>0){ enterLen = str.length-str.replace(/\n/g, "").length; } return (str.length + str.replace(/[\u0000-\u00ff]/g, "").length + enterLen); // return str.length + str.replace(/[^\u0080-\u07FF]/g, "").length + str.replace(/[^\u0800-\uFFFF]/g, "").length*2 + enterLen; } } /** * 截取指定字节数的字符串 */ function getStrBytesCount(str,account) { var bytesCount = 0,thisByteCount=0; if (str != null) { for (var i = 0; i < str.length; i++){ var c = str.charAt(i); //0000 - 007F 0xxxxxxx // 0080 - 07FF 110xxxxx 10xxxxxx // 0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx // if(/^[\u0000-\u007F]$/.test(c)){ // thisByteCount= 1; // }else if(/^[\u0080-\u07FF]$/.test(c)){ // thisByteCount= 2; // }else if(/^[\u0800-\uFFFF]$/.test(c)){ // thisByteCount= 3; // } if (/^[\u0000-\u00ff]$/.test(c)){ if(navigator.userAgent.indexOf("WebKit")>0 && c=='\n'){ thisByteCount= 2; }else{ thisByteCount= 1; } }else{ thisByteCount= 2; } if(thisByteCount+bytesCount > account){ bytesCount=i; break; }else{ bytesCount += thisByteCount; } } return str.substr(0, bytesCount); } return ""; } /** * 点击赞的动画 */ function zanAnimate(x,y,time,color,text){ var obj=$("#like_1"); if(!obj.length){ $("html body").append("<a class='noselected' style='position:absolute;' id='like_1'>+1</a>"); obj=$("#like_1"); } if(!color||color==""){ color="#a4d754"; } if(!text||text==""){ text="+1"; } obj.text(text); obj.css({"top":y+"px","left":x+"px","display":"block","opacity":"1","filter":"alpha(opacity=100)","font-size":"20px","color":color}); obj.stop().animate({"opacity":"0.8","filter":"alpha(opacity=80)","font-size":"30px","top":(y-25)+"px","left":(x-10)+"px"},time,function(){ obj.css("display","none"); }); } var textWidth = function(text){ var htmlcode = $('<p id="auto_width_p">'+ (transformHtml(text))+"1" +'</p>').css({display:"block"}); $('body').append(htmlcode); var width = htmlcode.width(); var height = htmlcode.height(); htmlcode.remove(); return [width,height]; }; /** * url:跳转地址 * loginFlag:是否登录 * blankFlag:是否另打开一个页面 */ function openPage(url, loginFlag, blankFlag){ if(loginFlag == "1" || loginFlag == 1){ judgeLogin(); if(!userLogin){ loginLogoutCallBack['loginByOtherCB']=function(){ window.open(url,blankFlag); } return 0; }else{ window.open(url,blankFlag); } }else{ window.open(url,blankFlag); } } /* * 前端获取文件大小 */ function getFileSize(obj) { var objValue = obj.value; if (objValue == "") return; var fileLenth = -1; try { //对于IE判断要上传的文件的大小 var fso = new ActiveXObject("Scripting.FileSystemObject"); fileLenth = parseInt(fso.getFile(objValue).size); } catch (e) { try { //对于非IE获得要上传文件的大小 fileLenth = parseInt(obj.files[0].size); } catch (e) { fileLenth = -1; } } return fileLenth; } /** * 获得地址栏中指定参数名称的参数值 */ function getQueryString(name, search){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); search = search || window.location.search; var r = search.substr(1).match(reg); if(r!=null)return unescape(r[2]); return null; } /** * 设置地址栏中指定参数名称的参数值 */ function setQueryString(key, value, url){ url = url || window.location.href; var reg = new RegExp(key+"=\\w*","g"); var keyValue = key+'='+value; if(url.indexOf("?")>-1){ if(url.indexOf(key)>-1){ url = url.replace(reg,keyValue); }else{ url += "&"+keyValue; } }else{ url += "?"+keyValue; } return url; } /** * 展示或收缩指定元素 */ function showHideTip(containId, callback){ var thisObj = $(this); var containObj = $("#"+containId); $(".show-hide-help:not(#"+containId+")").hide("normal"); containObj.toggle("normal"); if(callback){ callback(thisObj, containObj); } } Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; o['M+'] = o['M+']>9 ? o['M+'] : ('0'+o['M+']); o['d+'] = o['d+']>9 ? o['d+'] : ('0'+o['d+']); o['h+'] = o['h+']>9 ? o['h+'] : ('0'+o['h+']); o['m+'] = o['m+']>9 ? o['m+'] : ('0'+o['m+']); o['s+'] = o['s+']>9 ? o['s+'] : ('0'+o['s+']); if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; } //将json转换成对象 function jsondecode(data){ return (new Function("return "+data ))(); } //JS判断访问设备(userAgent)加载不同页面。代码如下: function detectOS() { var sUserAgent = navigator.userAgent; var isWin = (navigator.platform === "Win32") || (navigator.platform === "Windows"); var isMac = (navigator.platform === "Mac68K") || (navigator.platform === "MacPPC") || (navigator.platform === "Macintosh") || (navigator.platform === "MacIntel"); var bIsIpad = sUserAgent.match(/ipad/i) === "ipad"; var bIsIphoneOs = sUserAgent.match(/iphone os/i) === "iphone os"; var isUnix = (navigator.platform === "X11") && !isWin && !isMac; var isLinux = (String(navigator.platform).indexOf("Linux") > -1); var bIsAndroid = sUserAgent.toLowerCase().match(/android/i) === "android"; var bIsCE = sUserAgent.match(/windows ce/i) === "windows ce"; var bIsWM = sUserAgent.match(/windows mobile/i) === "windows mobile"; if (isMac) return "Mac"; if (isUnix) return "Unix"; if (isLinux) { if (bIsAndroid) return "Android"; else return "Linux"; } if(bIsCE || bIsWM){ return 'wm'; } if (isWin) { var isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1 || sUserAgent.indexOf("Windows 2000") > -1; if (isWin2K) return "Win2000"; var isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1 || sUserAgent.indexOf("Windows XP") > -1; if (isWinXP) return "WinXP"; var isWin2003 = sUserAgent.indexOf("Windows NT 5.2") > -1 || sUserAgent.indexOf("Windows 2003") > -1; if (isWin2003) return "Win2003"; var isWinVista = sUserAgent.indexOf("Windows NT 6.0") > -1 || sUserAgent.indexOf("Windows Vista") > -1; if (isWinVista) return "WinVista"; var isWin7 = sUserAgent.indexOf("Windows NT 6.1") > -1 || sUserAgent.indexOf("Windows 7") > -1; if (isWin7) return "Win7"; var isWin8 = sUserAgent.indexOf("Windows NT 6.2") > -1 || sUserAgent.indexOf("Windows 8") > -1; if (isWin8) return "Win8"; } return "other"; } /** * [formDataFun 将form数组数据转换成对象数据] * @param {[type]} formValue [数组数据] * @return {[type]} [description] */ function formDataFun(formValue){ var formData = {}; for(var i=0,len=formValue.length; i<len; i++){ if(formValue[i].value){ formData[formValue[i].name] = formValue[i].value; } } return formData; } //倒计时对象 //用法 var cd = new countDown(); cd.start(60,function(s){//s为剩下的秒数...}, function(){}) var countDown = function(){ if(!(this instanceof countDown)){ return new countDown(); } this.startD; this.interval; this.total; this.isStop = false; }; //开始倒计时second:秒数,fresh:刷新显示的倒计时时间 countDown.prototype.start = function(second, fresh, callback){ var self = this; fresh && fresh(second); // setTimeout(function(){ if(self.isStop){ return; } self.total = second*1000; self.startD = new Date(); self.interval = setInterval(function() { var nd = new Date(); var ds = nd - self.startD - 100; if (ds > self.total) { clearInterval(self.interval); callback && callback(); } else { fresh && fresh(Math.round((self.total - ds) / 1000)); } }, 100); // }, 1000); }; //结束倒计时 countDown.prototype.stop = function(callback){ var self = this; self.isStop = true; callback && callback(); clearInterval(self.interval); }; $(function(){ /** * outerHTML */ if(!document.body.outerHTML && window.HTMLElement) { HTMLElement.prototype.__defineGetter__("outerHTML",function(){ //获取 var attr; var attrs=this.attributes; var str="<"+this.tagName.toLowerCase(); for(var i=0;i<attrs.length;i++){ attr=attrs[i]; if(attr.specified) str+=" "+attr.name+'="'+attr.value+'"'; } return str+">"+this.innerHTML+"</"+this.tagName.toLowerCase()+">"; }); HTMLElement.prototype.__defineSetter__("outerHTML",function(s) //设置 { var r = this.ownerDocument.createRange(); r.setStartBefore(this); var df = r.createContextualFragment(s); this.parentNode.replaceChild(df, this); return s; }); } $(".logo").click(function(){ // location.href="index.php"; }); $(".auto_width").on("keyup",function(){ var size = textWidth($(this).val()); var thisObj = $(this); var maxHeight = parseInt(thisObj.css("max-height")); var maxWidth = parseInt(thisObj.css("max-width")); if(this.tagName.toUpperCase()=="TEXTAREA"){ size[0] = size[0]+20; } if(maxHeight && maxHeight<size[1]){ thisObj.css({"overflow-y":"auto"}); } if(maxWidth && maxWidth<size[0]){ thisObj.css({"overflow-x":"auto"}); } $(this).width(size[0]); $(this).height(size[1]); }) $(".auto_width").each(function(){ var size = textWidth($(this).val()); var thisObj = $(this); if(this.tagName.toUpperCase()=="TEXTAREA"){ size[0] = size[0]+20; } $(this).width(size[0]); $(this).height(size[1]); }); //input readonly $("body").on("keydown", ":text[readonly]", function(event){ if(document.all){ window.event.returnValue = false; window.event.cancelBubble = true; }else{ event.preventDefault(); event.stopPropagation(); } return false; }); //补丁:xp ie8 .navigation-tabs2 li if("WinXP" == detectOS() && window.navigator.userAgent.indexOf("MSIE") >= 0 ){ $(".navigation-tabs2 li").addClass("xp-ie8-navli"); } });
相关文章推荐
- js常用技巧总结(转)
- 常用js总结用editplus打开应该格式正常,我是指不自动换行的情况下,不会乱。
- JS常用方法的一些总结一
- js中的DOM常用语句总结
- 2008年总结项目中常用到的JS验证脚本
- 常用js总结
- js中的DOM常用语句总结
- 常用js判断(自己在总结的,有问题欢迎指出)
- js 数组常用功能小总结
- 2008年总结项目中常用到的JS验证脚本
- 常用JS验证函数总结
- 常用JS验证函数总结
- js中常用语法总结
- JS中正规表达式的用法以及常用的方法总结
- 常用正则表达式总结(js与C#对照)
- 文章总结了JS中常用的语法,希望能对大家提供帮助.
- 常用JS验证函数总结
- 黑马程序员_js常用函数总结
- js字符串常用函数及扩展总结