您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

常用Javascript函数与原型功能收藏

2025/10/26 12:42:11发布15次查看
// 重复字符串 string.prototype.repeat = function(n) { return new array(n+1).join(this); } // 替换全部 string.prototype.replaceall = function(str1, str2) { return this.replace(new regexp(str1, gm), str2); } // 清除空格 string.prototype.trim = function() { return this.replace(/^\s*(.*?)\s+$/, $1); } // 计算数组中的最大值 array.prototype.max = function() { return math.max.apply({}, this); } // 计算数组中的最小值 array.prototype.min = function() { return math.min.apply({}, this); } // 复制数组 array.prototype.copy = function() { return [].concat(this); }; // 去除数组中指定元素,只能去除一个,如果想多个,之前先用unique处理 array.prototype.remove = function(value){ for (var i = 0, len = this.length; i < len; i++) { if (this[i] == value) { this.splice(i, 1); break; } } return this; } // 判断数组中是否存在指定元素,返回索引值 array.prototype.inarray = function(value) { var index = -1, key; for (key in this) { if (this[key] == value) { index = key; break; } } return index; } // 去除数组中的重复元素 array.prototype.unique = function() { var key, ret = []; for (key in this) { if (ret.inarray(this[key]) < 0) { ret.push(this[key]); } } return ret; } // 检测是否已经安装flash,检测flash的版本 var flashversion = (function() { var version; try { version = navigator.plugins['shockwave flash']; version = version.description; } catch (ex) { try { version = new activexobject('shockwaveflash.shockwaveflash') .getvariable('$version'); } catch (ex2) { version = '0.0'; } } version = version.match(/\d+/g); return parsefloat(version[0] + '.' + version[1], 10); })(); // 检测是否支持transition var supporttransition = (function() { var s = document.createelement('p').style, r = 'transition' in s || 'webkittransition' in s || 'moztransition' in s || 'mstransition' in s || 'otransition' in s; s = null; return r; })(); // 判断浏览器是否支持图片的base64 var issupportbase64 = (function() { var data = new image(); var support = true; data.onload = data.onerror = function() { if (this.width != 1 || this.height != 1) { support = false; } return support; }; data.src = data:image/gif;base64,r0lgodlhaqabaiaaaaaaap///ywaaaaaaqabaaacauwaow==; })(); // 首字母大写 function ucfirst(str) { return str.charat(0).touppercase() + str.slice(1); } // 清除左空格 function ltrim(str) { return str.replace(/^(\s*| *)/, ); } // 清除右空格 function rtrim(str) { return str.replace(/(\s*| *)$/, ); } // 设置cookie值 function setcookie(name, value, hours, path, domain) { var d = new date(); var offset = 8; var utc = d.gettime() + (d.gettimezoneoffset() * 60000); var nd = utc + (3600000 * offset); var expire = new date(nd); expire.settime(expire.gettime() + hours * 60 * 60 * 1000); var path = path || ; var domain = domain || ; document.cookie = name + = + escape(value) + ;path=+ path +;expires= + expire.togmtstring() + ;domain=+ domain +; } // 获取cookie值 function getcookie(name) { var arr = document.cookie.match(new regexp((^| ) + name + =([^;]*)(;|$))); if (arr != null) { return unescape(arr[2]); } return null; } // 删除cookie值 function removecookie(name) { setcookie(name, , -1); } // 生成范围随机数 function rand(n, m) { return math.random() * (m - n) + n; } // 加入收藏夹 function addfavorite(url, title) { try { window.external.addfavorite(url, title); } catch(e) { try { window.sidebar.addpanel(title, url, ); } catch(e) { alert(加入收藏失败,请使用ctrl+d进行添加); } } } // 设为首页 function sethomepage(url) { if (document.all) { document.body.style.behavior = 'url(#default#homepage)'; document.body.sethomepage(url); } else if (window.sidebar) { if (window.netscape) { try { netscape.security.privilegemanager.enableprivilege(universalxpconnect); } catch(e) { alert(该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true); } } var prefs = components.classes['@mozilla.org/preferences-service;1'].getservice(components.interfaces.nsiprefbranch); prefs.setcharpref('browser.startup.homepage', url); } } // 加载样式文件 function loadstyle(url) { try { document.createstylesheet(url); } catch(e) { var csslink = document.createelement('link'); csslink.rel = 'stylesheet'; csslink.type = 'text/css'; csslink.href = url; var head = document.getelementsbytagname('head')[0]; head.appendchild(csslink) } } // 清除脚本内容 function stripscript(str) { return str.replace(/.*?/ig, ''); } // 检验url链接是否有效 function geturlstate(url) { var xmlhttp = new activexobject(microsoft.xmlhttp); xmlhttp.open(get, url, false); try { xmlhttp.send(); } catch(e) { } finally { var result = xmlhttp.responsetext; if (result) { if (xmlhttp.status == 200) { return true; } else { return false; } } else { return false; } } } // 格式化css代码 function formatcss(str){ str = str.replace(/\s*([\{\}\:\;\,])\s*/g, $1); str = str.replace(/;\s*;/g, ;); //清除连续分号 str = str.replace(/\,[\s\.\#\d]*{/g, {); str = str.replace(/([^\s])\{([^\s])/g, $1 {\n\t$2); str = str.replace(/([^\s])\}([^\n]*)/g, $1\n}\n$2); str = str.replace(/([^\s]);([^\s\}])/g, $1;\n\t$2); return str; } // 压缩css代码 function compresscss (str) { str = str.replace(/\/\*(.|\n)*?\*\//g, ); //删除注释 str = str.replace(/\s*([\{\}\:\;\,])\s*/g, $1); str = str.replace(/\,[\s\.\#\d]*\{/g, {); //容错处理 str = str.replace(/;\s*;/g, ;); //清除连续分号 str = str.match(/^\s*(\s+(\s+\s+)*)\s*$/); //去掉首尾空白 return (str == null) ? : s[1]; } // getelementsbyclassname function getelementsbyclassname(name, context) { var context = context || document; if (context.getelementsbyclassname) { return context.getelementsbyclassname(name); } var nodes = context.getelementsbytagname(*), nodeslength = nodes.length, ret = []; for (var i = 0; i < nodeslength; i++) { var classname = nodes[i].classname; if (nodes[i].nodetype == 1 && classname) { var classes = classname.split(' '); for (var j = 0; j 47 && ikey 64 && ikey 95 && ikey 108 && ikey 185 && ikey 218 && ikey < 223) {return true;} /*符号2*/ return false; } // 获得url中get参数值 function getparams() { var querystr = window.location.href.split(?); var params = []; if (querystr[1]) { var gets = querystr[1].split(&); for (var i = 0; i 60) { return false } return true; } // 检测变量类型是否为日期格式 function checkdate(str) { var date = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); if (date == null) { return false; } var d = new date(r[1], r[3]-1, r[4]); return (d.getfullyear() == r[1] && (d.getmonth()+1) == r[3] && d.getdate() == r[4]); } // 检测变量是否为长日期格式 function checkdatetime(str) { var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; var dt = str.match(reg); if (dt == null) { return false; } var d = new date(dt[1], dt[3]-1, dt[4], dt[5], dt[6], dt[7]); return (d.getfullyear() == dt[1] && (d.getmonth()+1) == dt[3] && d.getdate() == dt[4] && d.gethours() == dt[5] && d.getminutes() == dt[6] && d.getseconds() == dt[7]); } // 检测变量是否为未定义 function isundefined(val) { return typeof val === 'undefined'; } // 检测变量是否为定义 function isdefined(val) { return typeof val !== 'undefined'; } // 检测变量类型是否为对象 function isobject(val) { return val !== null && typeof val === 'object'; } // 检测变量类型是否为空对象 function isblankobject(val) { return val !== null && typeof val === 'object' && !object.getprototypeof(val); } // 检测变量类型是否为字符串 function isstring(val) { return typeof val === 'string'; } // 检测变量类型是否为数字 function isnumber(val) { return typeof val === 'number'; } // 检测变量类型是否为日期 function isdate(val) { return tostring.call(val) === '[object date]'; } // 检测变量类型是否为函数 function isfunction(val) { return typeof val === 'function'; } // 检测变量类型是否为正则表达式 function isregexp(val) { return tostring.call(val) === '[object regexp]'; } // 检测变量是否window窗体对象 function iswindow(obj) { return obj && obj.window === obj; } // 检测变量类型是否为布尔 function isboolean(val) { return typeof val === 'boolean'; } // 检测变量类型是否为文件对象 function isfile(obj) { return tostring.call(obj) === '[object file]'; } // 检测变量类型是否为表单对象 function isformdata(obj) { return tostring.call(obj) === '[object formdata]'; } // 检测变量类型是否为二进制对象 function isblob(obj) { return tostring.call(obj) === '[object blob]'; } // 转全角字符 function todbc(str) { var result = ; var len = str.length; for (var i = 0; i = 0x0021 && code <= 0x007e) ? (code + 65248) : code; //处理空格 code = (code == 0x0020) ? 0x03000 : code; result += string.fromcharcode(code); } return result; } // 转半角字符 function tosbc(str) { var result = ; var len = str.length; for (var i = 0; i = 0xff01 && code <= 0xff5e) ? (code - 65248) : code; //处理空格 code = (code == 0x03000) ? 0x0020 : code; result += string.fromcharcode(code); } return result; } // 全角半角转换 // angle: 0全到半,1半到全,其他不转化 function chgangle(str, angle) { if (typeof str != string || str.length 全*/ for (i = 0, len = str.length; i < len; i++) { code = str.charcodeat(i); if (code == 32) { code = 12288; } else if (code 半*/ for (i = 0, len = str.length; i 65280 && code < 65375) { code -= 65248; } ret.push(string.fromcharcode(code)); } } return ret.join(); } // 数据的本地化存储 function makewebstorage() { //ie用userdata实现,w3c浏览器本身支持 if ((localstorage in window)) { var store = { set : function(key, value) {localstorage.setitem(key, value)}, get : function(key) {return localstorage.getitem(key)}, remove : function(key) {return localstorage.removeitem(key)} } } else { var store = { userdata : null, name : location.hostname, init : function () { if (!store.userdata) { try { store.userdata = document.createelement('input'); store.userdata.type = hidden; store.userdata.style.display = none; store.userdata.addbehavior(#default#userdata); document.body.appendchild(store.userdata); var expires = new date(); expires.setdate(expires.getdate() + 365); store.userdata.expires = expires.toutcstring(); } catch (e) { return false; } } return true; }, setitem : function(key, value) { if (store.init()) { store.userdata.load(store.name); store.userdata.setattribute(key, value); store.userdata.save(store.name); } }, getitem : function(key) { if (store.init()) { store.userdata.load(store.name); return store.userdata.getattribute(key); } }, remove : function(key) { if (store.init()) { store.userdata.load(store.name); store.userdata.removeattribute(key); store.userdata.save(store.name); } } }; } window.webstorage = store; } function makesessionstorage() { if ((sessionstorage in window)) { var store = { set : function(key, value) {window.sessionstorage.setitem(key, value)}, get : function(key) {return window.sessionstorage.getitem(key)}, remove : function(key) {return window.sessionstorage.removeitem(key)} } } else { var store = { set : function(key, value) {}, get : function(key) {}, remove : function(key) {} } } window.sessstorage = store; }
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product