1.字符串长度截取

  1. function cutstr(str, len) {
  2. var temp,
  3. icount = 0,
  4. patrn = /[^\x00-\xff]/
  5. strre = "";
  6. for (var i = 0; i < str.length; i++) {
  7. if (icount < len - 1) {
  8. temp = str.substr(i, 1);
  9. if (patrn.exec(temp) == null) {
  10. icount = icount + 1
  11. } else {
  12. icount = icount + 2
  13. }
  14. strre += temp
  15. } else {
  16. break;
  17. }
  18. }
  19. return strre + "..."
  20. }

2.替换全部

  1. String.prototype.replaceAll = function(s1, s2) {
  2. return this.replace(new RegExp(s1, "gm"), s2)
  3. }

3.清除空格

  1. String.prototype.trim = function() {
  2. var reExtraSpace = /^\s*(.*?)\s+$/;
  3. return this.replace(reExtraSpace, "$1")
  4. }

4.清除左空格/右空格

  1. function ltrim(s){ return s.replace( /^(\s*| *)/, ""); }
  2. function rtrim(s){ return s.replace( /(\s*| *)$/, ""); }

5.判断是否以某个字符串开头

  1. String.prototype.startWith = function (s) {
  2. return this.indexOf(s) == 0
  3. }

6.判断是否以某个字符串结束

  1. String.prototype.endWith = function (s) {
  2. var d = this.length - s.length;
  3. return (d >= 0 && this.lastIndexOf(s) == d)
  4. }

7.转义html标签

  1. function HtmlEncode(text) {
  2. return text.replace(/&/g, '&').replace(/\"/g, '"').replace(/</g, '<').replace(/>/g, '>')
  3. }

8.时间日期格式转换

  1. Date.prototype.Format = function(formatStr) {
  2. var str = formatStr;
  3. var Week = ['日', '一', '二', '三', '四', '五', '六'];
  4. str = str.replace(/yyyy|YYYY/, this.getFullYear());
  5. str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100));
  6. str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1));
  7. str = str.replace(/M/g, (this.getMonth() + 1));
  8. str = str.replace(/w|W/g, Week[this.getDay()]);
  9. str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());
  10. str = str.replace(/d|D/g, this.getDate());
  11. str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());
  12. str = str.replace(/h|H/g, this.getHours());
  13. str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());
  14. str = str.replace(/m/g, this.getMinutes());
  15. str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());
  16. str = str.replace(/s|S/g, this.getSeconds());
  17. return str
  18. }

9.判断是否为数字类型

  1. function isDigit(value) {
  2. var patrn = /^[0-9]*$/;
  3. if (patrn.exec(value) == null || value == "") {
  4. return false
  5. } else {
  6. return true
  7. }
  8. }

10.设置cookie值

  1. function setCookie(name, value, Hours) {
  2. var d = new Date();
  3. var offset = 8;
  4. var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
  5. var nd = utc + (3600000 * offset);
  6. var exp = new Date(nd);
  7. exp.setTime(exp.getTime() + Hours * 60 * 60 * 1000);
  8. document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString() + ";domain=360doc.com;"
  9. }

11.获取cookie值

  1. function getCookie(name) {
  2. var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
  3. if (arr != null) return unescape(arr[2]);
  4. return null
  5. }

12.加入收藏夹

  1. function AddFavorite(sURL, sTitle) {
  2. try {
  3. window.external.addFavorite(sURL, sTitle)
  4. } catch(e) {
  5. try {
  6. window.sidebar.addPanel(sTitle, sURL, "")
  7. } catch(e) {
  8. alert("加入收藏失败,请使用Ctrl+D进行添加")
  9. }
  10. }
  11. }

13.设为首页

  1. function setHomepage() {
  2. if (document.all) {
  3. document.body.style.behavior = 'url(#default#homepage)';
  4. document.body.setHomePage('http://w3cboy.com')
  5. } else if (window.sidebar) {
  6. if (window.netscape) {
  7. try {
  8. netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
  9. } catch(e) {
  10. alert("该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true")
  11. }
  12. }
  13. var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
  14. prefs.setCharPref('browser.startup.homepage', 'http://w3cboy.com')
  15. }
  16. }

14.加载样式文件

  1. function LoadStyle(url) {
  2. try {
  3. document.createStyleSheet(url)
  4. } catch(e) {
  5. var cssLink = document.createElement('link');
  6. cssLink.rel = 'stylesheet';
  7. cssLink.type = 'text/css';
  8. cssLink.href = url;
  9. var head = document.getElementsByTagName('head')[0];
  10. head.appendChild(cssLink)
  11. }
  12. }

15.返回脚本内容

  1. function evalscript(s) {
  2. if(s.indexOf('<script') == -1) return s;
  3. var p = /<script[^\>]*?>([^\x00]*?)<\/script>/ig;
  4. var arr = [];
  5. while(arr = p.exec(s)) {
  6. var p1 = /<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"1\")?(?:charset=\"([\w\-]+?)\")?><\/script>/i;
  7. var arr1 = [];
  8. arr1 = p1.exec(arr[0]);
  9. if(arr1) {
  10. appendscript(arr1[1], '', arr1[2], arr1[3]);
  11. } else {
  12. p1 = /<script(.*?)>([^\x00]+?)<\/script>/i;
  13. arr1 = p1.exec(arr[0]);
  14. appendscript('', arr1[2], arr1[1].indexOf('reload=') != -1);
  15. }
  16. }
  17. return s;
  18. }

16.清除脚本内容

  1. function stripscript(s) {
  2. return s.replace(/<script.*?>.*?<\/script>/ig, '');
  3. }

17.动态加载脚本文件

  1. function appendscript(src, text, reload, charset) {
  2. var id = hash(src + text);
  3. if(!reload && in_array(id, evalscripts)) return;
  4. if(reload && $(id)) {
  5. $(id).parentNode.removeChild($(id));
  6. }
  7. evalscripts.push(id);
  8. var scriptNode = document.createElement("script");
  9. scriptNode.type = "text/javascript";
  10. scriptNode.id = id;
  11. scriptNode.charset = charset ? charset : (BROWSER.firefox ? document.characterSet : document.charset);
  12. try {
  13. if(src) {
  14. scriptNode.src = src;
  15. scriptNode.onloadDone = false;
  16. scriptNode.onload = function () {
  17. scriptNode.onloadDone = true;
  18. JSLOADED[src] = 1;
  19. };
  20. scriptNode.onreadystatechange = function () {
  21. if((scriptNode.readyState == 'loaded' || scriptNode.readyState == 'complete') && !scriptNode.onloadDone) {
  22. scriptNode.onloadDone = true;
  23. JSLOADED[src] = 1;
  24. }
  25. };
  26. } else if(text){
  27. scriptNode.text = text;
  28. }
  29. document.getElementsByTagName('head')[0].appendChild(scriptNode);
  30. } catch(e) {}
  31. }

18.返回按ID检索的元素对象

  1. function $(id) {
  2. return !id ? null : document.getElementById(id);
  3. }

19.跨浏览器绑定事件

  1. function addEventSamp(obj,evt,fn){
  2. if(!oTarget){return;}
  3. if (obj.addEventListener) {
  4. obj.addEventListener(evt, fn, false);
  5. }else if(obj.attachEvent){
  6. obj.attachEvent('on'+evt,fn);
  7. }else{
  8. oTarget["on" + sEvtType] = fn;
  9. }
  10. }

20.跨浏览器删除事件

  1. function delEvt(obj,evt,fn){
  2. if(!obj){return;}
  3. if(obj.addEventListener){
  4. obj.addEventListener(evt,fn,false);
  5. }else if(oTarget.attachEvent){
  6. obj.attachEvent("on" + evt,fn);
  7. }else{
  8. obj["on" + evt] = fn;
  9. }
  10. }

21.为元素添加on方法

  1. Element.prototype.on = Element.prototype.addEventListener;
  2. NodeList.prototype.on = function (event, fn) {、
  3. []['forEach'].call(this, function (el) {
  4. el.on(event, fn);
  5. });
  6. return this;
  7. };

22.为元素添加trigger方法

  1. Element.prototype.trigger = function (type, data) {
  2. var event = document.createEvent('HTMLEvents');
  3. event.initEvent(type, true, true);
  4. event.data = data || {};
  5. event.eventName = type;
  6. event.target = this;
  7. this.dispatchEvent(event);
  8. return this;
  9. };
  10. NodeList.prototype.trigger = function (event) {
  11. []['forEach'].call(this, function (el) {
  12. el['trigger'](event);
  13. });
  14. return this;
  15. };

23.检验URL链接是否有效

  1. function getUrlState(URL){
  2. var xmlhttp = new ActiveXObject("microsoft.xmlhttp");
  3. xmlhttp.Open("GET",URL, false);
  4. try{
  5. xmlhttp.Send();
  6. }catch(e){
  7. }finally{
  8. var result = xmlhttp.responseText;
  9. if(result){
  10. if(xmlhttp.Status==200){
  11. return(true);
  12. }else{
  13. return(false);
  14. }
  15. }else{
  16. return(false);
  17. }
  18. }
  19. }

24.格式化CSS样式代码

  1. function formatCss(s){//格式化代码
  2. s = s.replace(/\s*([\{\}\:\;\,])\s*/g, "$1");
  3. s = s.replace(/;\s*;/g, ";"); //清除连续分号
  4. s = s.replace(/\,[\s\.\#\d]*{/g, "{");
  5. s = s.replace(/([^\s])\{([^\s])/g, "$1 {\n\t$2");
  6. s = s.replace(/([^\s])\}([^\n]*)/g, "$1\n}\n$2");
  7. s = s.replace(/([^\s]);([^\s\}])/g, "$1;\n\t$2");
  8. return s;
  9. }

25.压缩CSS样式代码

  1. function compressCss (s) {//压缩代码
  2. s = s.replace(/\/\*(.|\n)*?\*\//g, ""); //删除注释
  3. s = s.replace(/\s*([\{\}\:\;\,])\s*/g, "$1");
  4. s = s.replace(/\,[\s\.\#\d]*\{/g, "{"); //容错处理
  5. s = s.replace(/;\s*;/g, ";"); //清除连续分号
  6. s = s.match(/^\s*(\S+(\s+\S+)*)\s*$/); //去掉首尾空白
  7. return (s == null) ? "" : s[1];
  8. }

26.获取当前路径

  1. var currentPageUrl = "";
  2. if (typeof this.href === "undefined") {
  3. currentPageUrl = document.location.toString().toLowerCase();
  4. }else {
  5. currentPageUrl = this.href.toString().toLowerCase();
  6. }

27.判断是否移动设备

  1. function isMobile(){
  2. if (typeof this._isMobile === 'boolean'){
  3. return this._isMobile;
  4. }
  5. var screenWidth = this.getScreenWidth();
  6. var fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport ||rendererModel.runningExperiments.fixviewport;
  7. var fixViewPortsExperimentRunning = fixViewPortsExperiment && (fixViewPortsExperiment.toLowerCase() === "new");
  8. if(!fixViewPortsExperiment){
  9. if(!this.isAppleMobileDevice()){
  10. screenWidth = screenWidth/window.devicePixelRatio;
  11. }
  12. }
  13. var isMobileScreenSize = screenWidth < 600;
  14. var isMobileUserAgent = false;
  15. this._isMobile = isMobileScreenSize && this.isTouchScreen();
  16. return this._isMobile;
  17. }

28.判断是否移动设备访问

  1. function isMobileUserAgent(){
  2. return (/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.userAgent.toLowerCase()));
  3. }

29.判断是否苹果移动设备访问

  1. function isAppleMobileDevice(){
  2. return (/iphone|ipod|ipad|Macintosh/i.test(navigator.userAgent.toLowerCase()));
  3. }

30.判断是否安卓移动设备访问

  1. function isAndroidMobileDevice(){
  2. return (/android/i.test(navigator.userAgent.toLowerCase()));
  3. }

Javascript常用方法函数收集(一)的更多相关文章

  1. Javascript常用方法函数收集(二)

    Javascript常用方法函数收集(二) 31.判断是否Touch屏幕 function isTouchScreen(){ return (('ontouchstart' in window) || ...

  2. javascript常用方法函数收集

    收集了一些比较常用的javascript函数. 1.字符串长度截取 function cutstr(str, len) { var temp, icount = 0, patrn = /[^\x00- ...

  3. Javascript常用函数收集(不定期更新)

    str.replace('/正则表达式/','替换内容'); //正则替换str.match('/正则表达式/','替换内容'); //正则匹配 str.indexOf('查找代码'); //查找是否 ...

  4. JavaScript之函数,词法分析,内置对象和方法

    函数 函数定义 JavaScript中的函数和Python中的非常类似,只是定义方式有点区别. // 普通函数定义 function f1() { console.log("Hello wo ...

  5. 原生JavaScript技巧大收集100个

    原生JavaScript技巧大收集 1.原生JavaScript实现字符串长度截取function cutstr(str, len) { var temp; var icount = 0; var p ...

  6. JavaScript中函数函数的定义与变量的声明<基础知识一>

    1.JavaScript中函数的三种构造方式 a.function createFun(){ } b.var createFun=function (){ } c.var createFun=new ...

  7. 理解 JavaScript 回调函数并使用

    JavaScript中,函数是一等(first-class)对象:也就是说,函数是 Object 类型并且可以像其他一等对象(String,Array,Number等)一样使用.它们可以"保 ...

  8. 5种 JavaScript 调用函数的方法

    一次又一次的,我发现,那些有bug的Javascript代码是由于没有真正理解Javascript函数是如何工作而导致的(顺便说一下,许多那样的代码是我写的).JavaScript拥有函数式编程的特性 ...

  9. javascript escape()函数和unescape()函数

    javascript escape()函数和unescape()函数 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 语法: escape(string) stri ...

随机推荐

  1. 搭建ubuntu14.04的hadoop集群【docker容器充当服务器】

    首先弄出来装有hadoop.java.ssh.vim的镜像起名badboyf/hadoop.做镜像有两种方法,一种是用Dockerfile来生成一个镜像,一种是基于ubuntu14.04的基础镜像生成 ...

  2. Inverted sentences

    And ever has it been that love knows not its own depth until the hour of separation.  除非临到了别离的时候,爱永远 ...

  3. CSS 日常问题总结

    1.关于文本多余部分用省略号代替: http://www.cnblogs.com/hellman/p/5755376.html

  4. 小小border用处多

    1.实现梯形 利用边框我们可以得到梯形,首先我们给一个div添加边框,当给边框设置四个不同的颜色时,我们可以得到这样的样式,可以看到这里上边框是一个梯形,那么如果我们给其他边框设置颜色为透明(tran ...

  5. 建站随手记:installation python virtualenv mezzanine -1

    aliyun的网络访问有时会有问题,pip有问题的时候使用豆瓣源 pip install $apptoinstall$ -i http://pypi.douban.com/simple ------- ...

  6. Sql Server如何新建计划任务

    打开Sql Server数据库,在管理中找到维护计划功能,右击维护计划选择维护计划向导.如图所示: 打开维护计划向导后,在第一个步骤下输入计划名称. 输入完计划名称后,点击右下角的更改按钮,这里是配置 ...

  7. linux head、tail、sed、cut、grep、find

    head用法: head 参数 文件名 -cn:显示前n个字节    -n:显示前n行 例子:head -c20 1.txt 显示1.txt文件中前20个字符 ls |  head -20:显示前20 ...

  8. JS中关于clientWidth offsetWidth scrollWidth 等的含义

    网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offset ...

  9. canvas学习笔记:canvas对图片的像素级处理--ImageData的应用

    学习了canvas的基本绘图功能后,惊喜的发现canvas对图片数据也有相当强大的处理功能,能够从像素级别操作位图,当然[lte ie8]不支持. 主要的函数有三个: ctx.createImageD ...

  10. 学习winform第三方界面weiFenLuo.winFormsUI.Docking.dll

    控件dockpanel中提供了几个可用的类, 重要的有两个, 一是DockPanel, 一是DockContent, DockPanel是从panel继承出来的, 用于提供可浮动的dock的子窗口进行 ...