不得不分享的JavaScript常用方法函数集(上)
2015-12-23 00:00
603 查看
本文中,收集了一些比较常用的Javascript函数,希望对学习JS的朋友们有所帮助。
1. 字符串长度截取
2. 替换全部
3. 清除空格
4. 清除左空格/右空格
5. 判断是否以某个字符串开头
6. 判断是否以某个字符串结束
7. 转义html标签
8. 时间日期格式转换
9. 判断是否为数字类型
10. 设置cookie值
11. 获取cookie值
12. 加入收藏夹
13. 设为首页
14. 加载样式文件
15. 返回脚本内容
16. 清除脚本内容
17. 动态加载脚本文件
18. 返回按ID检索的元素对象
19. 跨浏览器绑定事件
20. 跨浏览器删除事件
21. 为元素添加on方法
以上就是本文的全部内容,喜欢的就收藏吧!
js window.onload 加载多个函数的方法
js 把字符串当函数执行的方法
javascript定义函数的方法
javascript中使用replaceAll()函数实现字符替换的方法
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
JavaScript中valueOf函数与toString方法深入理解
Javascript 判断是否存在函数的方法
多种方法实现当jsp页面完全加载完成后执行一个js函数
1. 字符串长度截取
function cutstr(str, len) { var temp, icount = 0, patrn = /[^\x00-\xff]/, strre = ""; for (var i = 0; i < str.length; i++) { if (icount < len - 1) { temp = str.substr(i, 1); if (patrn.exec(temp) == null) { icount = icount + 1 } else { icount = icount + 2 } strre += temp } else { break; } } return strre + "..." }
2. 替换全部
String.prototype.replaceAll = function(s1, s2) { return this.replace(new RegExp(s1, "gm"), s2) }
3. 清除空格
String.prototype.trim = function() { var reExtraSpace = /^\s*(.*?)\s+$/; return this.replace(reExtraSpace, "$1") }
4. 清除左空格/右空格
function ltrim(s){ return s.replace( /^(\s*| *)/, ""); } function rtrim(s){ return s.replace( /(\s*| *)$/, ""); }
5. 判断是否以某个字符串开头
String.prototype.startWith = function (s) { return this.indexOf(s) == 0 }
6. 判断是否以某个字符串结束
String.prototype.endWith = function (s) { var d = this.length - s.length; return (d >= 0 && this.lastIndexOf(s) == d) }
7. 转义html标签
function HtmlEncode(text) { return text.replace(/&/g, '&').replace(/\"/g, '"').replace(/</g, '<').replace(/>/g, '>') }
8. 时间日期格式转换
Date.prototype.Format = function(formatStr) { var str = formatStr; var Week = ['日', '一', '二', '三', '四', '五', '六']; str = str.replace(/yyyy|YYYY/, this.getFullYear()); str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100)); str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1)); str = str.replace(/M/g, (this.getMonth() + 1)); str = str.replace(/w|W/g, Week[this.getDay()]); str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate()); str = str.replace(/d|D/g, this.getDate()); str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours()); str = str.replace(/h|H/g, this.getHours()); str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes()); str = str.replace(/m/g, this.getMinutes()); str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds()); str = str.replace(/s|S/g, this.getSeconds()); return str }
9. 判断是否为数字类型
function isDigit(value) { var patrn = /^[0-9]*$/; if (patrn.exec(value) == null || value == "") { return false } else { return true } }
10. 设置cookie值
function setCookie(name, value, Hours) { var d = new Date(); var offset = 8; var utc = d.getTime() + (d.getTimezoneOffset() * 60000); var nd = utc + (3600000 * offset); var exp = new Date(nd); exp.setTime(exp.getTime() + Hours * 60 * 60 * 1000); document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString() + ";domain=360doc.com;" }
11. 获取cookie值
function getCookie(name) { var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)")); if (arr != null) return unescape(arr[2]); return null }
12. 加入收藏夹
function AddFavorite(sURL, sTitle) { try { window.external.addFavorite(sURL, sTitle) } catch(e) { try { window.sidebar.addPanel(sTitle, sURL, "") } catch(e) { alert("加入收藏失败,请使用Ctrl+D进行添加") } } }
13. 设为首页
function setHomepage() { if (document.all) { document.body.style.behavior = 'url(#default#homepage)'; document.body.setHomePage('http://w3cboy.com') } 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', 'http://w3cboy.com') } }
14. 加载样式文件
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) } }
15. 返回脚本内容
function evalscript(s) { if(s.indexOf('<script') == -1) return s; var p = /<script[^\>]*?>([^\x00]*?)<\/script>/ig; var arr = []; while(arr = p.exec(s)) { var p1 = /<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"1\")?(?:charset=\"([\w\-]+?)\")?><\/script>/i; var arr1 = []; arr1 = p1.exec(arr[0]); if(arr1) { appendscript(arr1[1], '', arr1[2], arr1[3]); } else { p1 = /<script(.*?)>([^\x00]+?)<\/script>/i; arr1 = p1.exec(arr[0]); appendscript('', arr1[2], arr1[1].indexOf('reload=') != -1); } } return s; }
16. 清除脚本内容
function stripscript(s) { return s.replace(/<script.*?>.*?<\/script>/ig, ''); }
17. 动态加载脚本文件
function appendscript(src, text, reload, charset) { var id = hash(src + text); if(!reload && in_array(id, evalscripts)) return; if(reload && $(id)) { $(id).parentNode.removeChild($(id)); } evalscripts.push(id); var scriptNode = document.createElement("script"); scriptNode.type = "text/javascript"; scriptNode.id = id; scriptNode.charset = charset ? charset : (BROWSER.firefox ? document.characterSet : document.charset); try { if(src) { scriptNode.src = src; scriptNode.onloadDone = false; scriptNode.onload = function () { scriptNode.onloadDone = true; JSLOADED[src] = 1; }; scriptNode.onreadystatechange = function () { if((scriptNode.readyState == 'loaded' || scriptNode.readyState == 'complete') && !scriptNode.onloadDone) { scriptNode.onloadDone = true; JSLOADED[src] = 1; } }; } else if(text){ scriptNode.text = text; } document.getElementsByTagName('head')[0].appendChild(scriptNode); } catch(e) {} }
18. 返回按ID检索的元素对象
function $(id) { return !id ? null : document.getElementById(id); }
19. 跨浏览器绑定事件
function addEventSamp(obj,evt,fn){ if(!oTarget){return;} if (obj.addEventListener) { obj.addEventListener(evt, fn, false); }else if(obj.attachEvent){ obj.attachEvent('on'+evt,fn); }else{ oTarget["on" + sEvtType] = fn; } }
20. 跨浏览器删除事件
function delEvt(obj,evt,fn){ if(!obj){return;} if(obj.addEventListener){ obj.addEventListener(evt,fn,false); }else if(oTarget.attachEvent){ obj.attachEvent("on" + evt,fn); }else{ obj["on" + evt] = fn; } }
21. 为元素添加on方法
Element.prototype.on = Element.prototype.addEventListener; NodeList.prototype.on = function (event, fn) {、 []['forEach'].call(this, function (el) { el.on(event, fn); }); return this; };
以上就是本文的全部内容,喜欢的就收藏吧!
您可能感兴趣的文章:
显示js对象所有属性和方法的函数js window.onload 加载多个函数的方法
js 把字符串当函数执行的方法
javascript定义函数的方法
javascript中使用replaceAll()函数实现字符替换的方法
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
JavaScript中valueOf函数与toString方法深入理解
Javascript 判断是否存在函数的方法
多种方法实现当jsp页面完全加载完成后执行一个js函数
相关文章推荐
- javascript新闻跑马灯实例代码
- js判断文本框输入的内容是否为数字
- 使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
- js实现图片无缝滚动
- 详解JavaScript时间格式化
- 基于JavaScript代码实现pc与手机之间的跳转
- 超精简的json输出类
- js严格模式
- 反序列化JSON字符串
- js 猜数字游戏
- 《JavaScript高级程序设计》(1)—&6.对象的创建及相关模式
- js命名空间的使用
- js对象字面量
- js function随笔
- django引用static目录下的css,js文件304问题
- 如果jsp提交到action为空指针的话
- [javascript-debug-ajax-json]两种不同的json格式数据
- 深入理解Javascript面向对象编程
- js form onsubmit 表单提交
- js刷新页面的几种方法