移除字符串多餘空格 /***去除多余空格函数*trim:去除两边空格lTrim:去除左空格rTrim:去除右空格*用法:*varstr="hello";*str=str.trim();*/if(!!!
移除字符串多餘空格
/*** 去除多余空格函数* trim:去除两边空格 lTrim:去除左空格 rTrim: 去除右空格* 用法:* var str = " hello ";* str = str.trim();*/if(!!!String.prototype.trim){String.prototype.trim = function(){ return this.replace(/(^[//s]*)|([//s]*$)/g, "");}String.prototype.lTrim = function(){ return this.replace(/(^[//s]*)/g, "");}String.prototype.rTrim = function(){ return this.replace(/([//s]*$)/g, "");}}
數字格式
/***是否是浮點類型**/function isFloat(val){ var regex = /^[+|-]?/d*/.?/d*$/; if (!regex.test(val.toString())){ return false; } return true;}/****精確到小數點後幾位數****/function floatToFixed(val,n){ var val=val; if(!isFloat(val)){ val=parseFloat(val); } try{ return val.toFixed(n); } catch(err){ var n=Math.pow(10,n); return Math.floor(val*n)/n; }}/* * formatMoney(s,type) * 功能:金额按千位逗号分割 * 参数:s,需要格式化的金额数值. * 参数:type,判断格式化后的金额是否需要小数位. * 返回:返回格式化后的数值字符串. */function formatMoney(s, type) { if (/[^0-9/.]/.test(s)) return "0"; if (s == null || s == "") return "0"; s = s.toString().replace(/^(/d*)$/, "$1."); s = (s + "00").replace(/(/d*/./d/d)/d*/, "$1"); s = s.replace(".", ","); var re = /(/d)(/d{3},)/; while (re.test(s)) s = s.replace(re, "$1,$2"); s = s.replace(/,(/d/d)$/, ".$1"); if (type == 0) {// 不带小数位(默认是有小数位) var a = s.split("."); if (a[1] == "00") { s = a[0]; } } return s;}/*月份補充零//return string*/function monthWithTwoNum(n){ var n=parseInt(n,10); if(n>=0 && n<=9){ return '0'+n.toString(); } return n.toString();}
瀏覽器、元素高寬
function getBrowserW(){ return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;//可见区域宽度}function getBrowserH(){ //alert(document.documentElement.clientHeight); return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;//可见区域高度 }function getEleW(ele){ if(typeof ele == 'string'){ return document.getElementById(ele).offsetWidth; } else { return ele.offsetWidth; }}function getEleH(ele){ if(typeof ele == 'string'){ return document.getElementById(ele).offsetHeight; } else { return ele.offsetHeight; }}
動態添加css&js(簡單)
/******普通動態 添加css******/var gAryLinkStyle=[];function includeLinkStyle(url) { if(gAryLinkStyle.toString().indexOf(url)!=-1){ return; } var link = document.createElement("link"); link.rel = "stylesheet"; link.type = "text/css"; link.href = url; document.getElementsByTagName("head")[0].appendChild(link); gAryLinkStyle.push(url);}/******普通動態 添加js******/var gAryScriptFile=[];function includeScriptFile(url,callback){ if(gAryScriptFile.toString().indexOf(url)!=-1){ !!callback&&callback(); return false; } var script= document.createElement("script"); script.setAttribute('type', 'text/javascript'); if(!!callback){ script.onload = script.onreadystatechange = function(){ if (script.ready) { return false; } if (!script.readyState || script.readyState == "loaded" || script.readyState == 'complete') { script.ready = true; callback(); } }; } script.src=url; document.getElementsByTagName("head")[0].appendChild(script); gAryScriptFile.push(url);}
瀏覽器UA信息
/****browser version****eg: if(Browser.ie && parseFloat(Browser.ie,10)<8.0) alert('is ie and version < 8.0');**********/var Browser = {};Browser.ua = navigator.userAgent.toLowerCase();Browser.s='';(Browser.s = Browser.ua.match(/chrome//([/d.]+)/)) ? Browser.chrome = parseFloat(Browser.s[1],10) :(Browser.s = Browser.ua.match(/msie ([/d.]+)/)) ? Browser.ie = parseFloat(Browser.s[1],10) :(Browser.s = Browser.ua.match(/rv:([/d.]+)/)) ? Browser.ie = parseFloat(Browser.s[1],10) :(Browser.s = Browser.ua.match(/firefox//([/d.]+)/)) ? Browser.firefox = parseFloat(Browser.s[1],10) :(Browser.s = Browser.ua.match(/opera.([/d.]+)/)) ? Browser.opera = parseFloat(Browser.s[1],10) :(Browser.s = Browser.ua.match(/version//([/d.]+).*safari/)) ? Browser.safari = parseFloat(Browser.s[1],10) : 0;
獲取滾動條位置
// 说明:用 Javascript 获取滚动条位置等信息 function getScrollPro() { var t, l, w, h; if (document.documentElement && document.documentElement.scrollTop) { t = document.documentElement.scrollTop; l = document.documentElement.scrollLeft; w = document.documentElement.scrollWidth; h = document.documentElement.scrollHeight; } else if (document.body) { t = document.body.scrollTop; l = document.body.scrollLeft; w = document.body.scrollWidth; h = document.body.scrollHeight; } return { t: t, l: l, w: w, h: h };}function setScrollTop(v){ if (document.documentElement && document.documentElement.scrollTop) { document.documentElement.scrollTop=v; } else if (document.body) { document.body.scrollTop=v; } return;}
觸發事件
/****trigger given event on elementdemo: triggerEvent(document.getElementById('google'),'resize');note: element not support window object***/function triggerEvent(ele,eventType){ if( document.createEvent) { try{ var event = document.createEvent ("HTMLEvents"); event.initEvent(eventType, true, true); ele.dispatchEvent(event); } catch(err){} } else if(document.createEventObject){ ele.fireEvent("on"+eventType); } }function log(s){ console.log(s);}/***new win***/function NewWin(url){ var a = document.createElement('a'); a.setAttribute("href", url); a.setAttribute("target", "_blank"); triggerEvent(a,'click'); a=null;}
拿css3 前綴
// JavaScript Document;(function(w){ w.cssPrefix=(function cssPrefix(){ var vendors = { Webkit: 'webkit', Moz: 'Moz', O: 'o', MS: 'ms', None: '' }, prefix = '', testEl = document.createElement('div'); for(key in vendors){ if (testEl.style[vendors[key] + 'TransitionProperty'] !== undefined) { prefix = '-' + vendors[key].toLowerCase() + '-'; break; } } return prefix; }());}(window));//console.log(window.cssPrefix);//-webkit-
Demo: xx這裡
檢查是否支持css3 屬性
var supportcss3 = (function() { var div = document.createElement('div'), vendors = 'Khtml Ms O Moz Webkit'.split(' '), len = vendors.length; return function(prop) { if ( prop in div.style ) return true; prop = prop.replace(/^[a-z]/, function(val) { return val.toUpperCase(); }); while(len--) { if ( vendors[len] + prop in div.style ) { return true; } } return false; };})(); if ( supportcss3('textShadow') ) { document.documentElement.className += ' textShadow';}
extend
// JavaScript Documentfunction extend(destination, source) { for (var property in source) destination[property] = source[property]; return destination;}
獲得兄弟節點
function getPreviousSibling(ele){ var preNode,ele=ele; while(true){ preNode=ele.previousSibling; if(!!!preNode){ preNode=null; break; } if(preNode.nodeType==1){ //alert(preNode.id); break; } else { ele=preNode; } }; return preNode;}console.log(getPreviousSibling(document.getElementById('id2')));function getNextSibling(ele){ var preNode,ele=ele; while(true){ preNode=ele.nextSibling; if(!!!preNode){ preNode=null; break; } if(preNode.nodeType==1){ //alert(preNode.id); break; } else { ele=preNode; } }; return preNode;}console.log(getNextSibling(document.getElementById('id1')));function getSibling(elem) { var r = []; var n = elem.parentNode.firstChild; for ( ; n; n = n.nextSibling ) { if ( n.nodeType === 1 && n !== elem ) { r.push( n ); } } return r;}
demo: xx這裡
關閉瀏覽器前的提示
var isCloseWin=true;window.onbeforeunload = function (e) { //if(isCloseWin) return e.returnValue = "Note: You didn't save the data. Determined to leave?";//ie7 not ok if(isCloseWin) return "Note: You didn't save the data. Determined to leave?";//ie7 ok}
解決indexof兼容問題
//解决ie不兼容indexOf if(!Array.indexOf){ Array.prototype.indexOf = function(obj){ for(var i=0; i<this.length; i++){ if(this[i]==obj){ return i; } } return -1; } }
匹配英文名
str = str.replace(/(^/s*)|(/s*$)/g,"");//去掉首尾空格//字符头尾是字母,中间由空格和字母组成,中间可以有多个空格if(/^[A-Za-z][A-Za-z/s]*[A-Za-z]$/.test(str)){ str = str.replace(//s+/g," ");//将中间无论多少空格替换成一个}
处理多选与单选
//jsfunction selectCheckBoxAll(name) { var el = document.getElementsByTagName('input'); var len = el.length; for(var i=0; i<len; i++) { if((el[i].type.toLowerCase()=="checkbox") && (el[i].name==name)) { el[i].checked = true; } } } function clearCheckBoxAll(name) { var el = document.getElementsByTagName('input'); var len = el.length; for(var i=0; i<len; i++) { if((el[i].type.toLowerCase()=="checkbox") && (el[i].name==name)) { el[i].checked = false; } } } //return arrayfunction getSelectCheckBoxValue(name) { var el = document.getElementsByTagName('input'); var len = el.length; var arySelect=[]; for(var i=0; i<len; i++) { if((el[i].type.toLowerCase()=="checkbox") && (el[i].name==name)) { if(el[i].checked == true){ arySelect.push(el[i].value); } } } return arySelect; } function isSelectCheckBox(name) { var el = document.getElementsByTagName('input'); var len = el.length; for(var i=0; i<len; i++) { if((el[i].type.toLowerCase()=="checkbox") && (el[i].name==name)) { if(el[i].checked == true) return true; } } return false; } //have selected return value,or not return falsefunction getSelectRadioValue(name) { var el = document.getElementsByTagName('input'); var len = el.length; for(var i=0; i<len; i++) { if((el[i].type.toLowerCase()=="radio") && (el[i].name==name)) { if(el[i].checked == true) return el[i].value; } } return false;} selectCheckBoxAll('cb[]');alert(isSelectCheckBox('cb[]'));console.log(getSelectCheckBoxValue('cb[]'));
<!--html--><!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>RunJS</title> </head> <body> <button onclick="javascript:clearCheckBoxAll('cb[]');">clearCheckBoxAll</button> <button onclick="javascript:alert(getSelectRadioValue('rb'));">getSelectRadioValue</button> <input type="checkbox" name="cb[]" value="0" />0<input type="checkbox" name="cb[]" value="1" />1 <br/> <input type="radio" name="rb" value="33" />33 <input type="radio" name="rb" value="44" />44 <input type="radio" name="rb" value="55" />55<script></script> </body></html>
DEMO xx这里
批量替换超链接的#号,防止页面跳动
出现返回顶部按钮
增加到收藏夹
//基於jquery//批量替换超链接的#号,防止页面跳动function a_void(){ $("a").each(function(index, element) { if ($(this).attr("href")=="#"){ $(this).attr('href','javascript:void(0);'); } }); }//滚动到一定距离,出现返回顶部按钮,参数是按钮元素function sroll_top(selector){ $(window).bind("scroll",function(){ if( $(document).scrollTop() < $(window).height() *1.5 ) { jQuery(selector).hide(); }else if($(document).scrollTop() > $(window).height() *1.5){ jQuery(selector).show(); } });}/**增加到收藏夹,参数sURL地址,sTitle名称***/function AddFavorite(sURL, sTitle){ try { window.external.addFavorite(sURL, sTitle); } catch (e) { try { window.sidebar.addPanel(sTitle, sURL, ""); } catch (e) { alert("加入收藏失败,请使用Ctrl+D进行添加"); } }}