`
fackyou200
  • 浏览: 308532 次
  • 性别: Icon_minigender_1
  • 来自: 山西太原
社区版块
存档分类
最新评论

100个直接可以拿来用的JavaScript实用功能

    博客分类:
  • js
 
阅读更多

1、原生JavaScript实现字符串长度截取

function cutstr(str, len) {
       var temp;
       var icount = 0;
       var patrn = /[^\x00-\xff]/;
       var 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、原生JavaScript获取域名主机

function getHost(url) {
       var host = "null";
       if(typeof url == "undefined"|| null == url) {
           url = window.location.href;
       }
       var regex = /^\w+\:\/\/([^\/]*).*/;
       var match = url.match(regex);
       if(typeof match != "undefined" && null != match) {
           host = match[1];
       }
       return host;
   }

 

 

3、原生JavaScript清除空格

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

 

 

4、原生JavaScript替换全部

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

 

 

5、原生JavaScript转义html标签

function HtmlEncode(text) {
       return text.replace(/&/g, '&amp').replace(/\"/g, '"').replace(//g, '>')
   }

 

 

6、原生JavaScript还原html标签

function HtmlDecode(text) {
       return text.replace(/&/g, '&').replace(/"/g, '\"').replace(/</g, '<').replace(/>/g, '>')
   }

 

 

7、原生JavaScript时间日期格式转换

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
   }

 

 

8、原生JavaScript判断是否为数字类型

function isDigit(value) {
       var patrn = /^[0-9]*$/;
       if (patrn.exec(value) == null || value == "") {
           return false
       } else {
           return true
       }
   }

 

 

9、原生JavaScript设置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;"
   }

 

 

10、原生JavaScript获取cookie值

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

 

 

11、原生JavaScript加入收藏夹

function AddFavorite(sURL, sTitle) {
       try {
           window.external.addFavorite(sURL, sTitle)
       } catch(e) {
           try {
               window.sidebar.addPanel(sTitle, sURL, "")
           } catch(e) {
               alert("加入收藏失败,请使用Ctrl+D进行添加")
           }
       }
   }

 

 

12、原生JavaScript设为首页

function setHomepage() {
        if (document.all) {
            document.body.style.behavior = 'url(#default#homepage)';
            document.body.setHomePage('http://www.jq-school.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://www.jq-school.com')
        }
    }

 

 

13、原生JavaScript判断IE6

var ua = navigator.userAgent.toLowerCase();
    var isIE6 = ua.indexOf("msie 6") > -1;
    if (isIE6) {
        try {
            document.execCommand("BackgroundImageCache", false, true)
        } catch(e) {}
    }

 

 

14、原生JavaScript加载样式文件

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、原生JavaScript返回脚本内容

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、原生JavaScript清除脚本内容

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

 

 

17、原生JavaScript动态加载脚本文件

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、原生JavaScript返回按ID检索的元素对象

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

 

 

19、原生JavaScript返回浏览器版本内容

function browserVersion(types) {
       var other = 1;
       for(i in types) {
           var v = types[i] ? types[i] : i;
           if(USERAGENT.indexOf(v) != -1) {
               var re = new RegExp(v + '(\\/|\\s)([\\d\\.]+)', 'ig');
               var matches = re.exec(USERAGENT);
               var ver = matches != null ? matches[2] : 0;
               other = ver !== 0 && v != 'mozilla' ? 0 : other;
           }else {
               var ver = 0;
           }
           eval('BROWSER.' + i + '= ver');
       }
       BROWSER.other = other;
   }

 

 

20、原生JavaScript元素显示的通用方法

function $(id) {
       return !id ? null : document.getElementById(id);
   }
   function display(id) {
       var obj = $(id);
       if(obj.style.visibility) {
           obj.style.visibility = obj.style.visibility == 'visible' ? 'hidden' : 'visible';
       } else {
           obj.style.display = obj.style.display == '' ? 'none' : '';
       }
   }

 

 

分享到:
评论

相关推荐

    100个直接可以拿来用的JavaScript实用功能代码片段(1-10)

    1、原生JavaScript实现字符串长度截取 2、原生JavaScript获取域名主机 3、原生JavaScript清除空格 4、原生JavaScript替换全部 5、原生JavaScript转义html标签 ...100、原生JavaScript全角转换为半角函数

    100个直接可以拿来用的JavaScript实用功能代码片段

    根据提供的文件信息,我们可以归纳总结出以下几个JavaScript实用功能代码片段的知识点: ### 1. 字符串截取:中文字符的正确处理 **代码片段**: ```javascript function cutstr(str, len) { var temp; var ...

    分享100个直接可以拿来用的JavaScript实用功能代码片段

    在JavaScript的世界里,掌握一些实用的功能代码片段是提升开发效率的关键。这些代码片段涵盖了各种常见的前端开发场景,从DOM操作到事件处理,再到数据处理和动画效果,无一不是前端开发者日常所需。以下是对这些...

    40个直接可以拿来用的JavaScript实用功能代码

    本文将介绍40个可以直接使用的JavaScript实用功能代码,旨在帮助开发者提高效率,减少重复工作。这些功能包括字符串处理、URL解析、日期时间格式化等多个方面。 首先,字符串处理是常见的任务。例如,`cutstr()`...

    100个+非常犀利的javascript.rar

    2. **拖动特效**:通过JavaScript,我们可以实现元素的拖放功能,允许用户用鼠标或其他输入设备直接操纵页面上的元素,提高用户参与度。 3. **幻灯切换**:幻灯片切换是网站中常见的展示方式,用来展示多张图片或...

    javascript常用方法实例

    这个“javascript常用方法实例.chm”文件很可能是包含了这些功能的代码示例,可以帮助开发者更直观地理解和应用这些JavaScript技术。通过学习和实践这些实例,开发者能够提高自己的技能,更好地创建交互性丰富的网页...

    几个经典JavaScript控件

    JavaScript可以用来加载、显示、修改图片,或者利用Canvas API进行复杂的图像操作。库如`Fabric.js` 提供了丰富的图像操作功能。 6. **网格布局(Grid Table)**: - `gridtable` 可能是指使用JavaScript实现的...

    1500个前端开发常用JavaScript特效

    "1500个前端开发常用JavaScript特效"这个资源集包含了大量实践性的示例,旨在帮助开发者提升项目中的用户体验。以下是对这些特效及其相关知识点的详细解读: 1. **事件处理**:JavaScript的事件处理机制是构建动态...

    利用JavaScript设计站内搜索及分页功能

    JavaScript是一种常用的客户端脚本语言,常用于增强网页的交互性和动态性。在本文中,作者许培佳探讨了如何利用JavaScript实现站内搜索和分页功能,这两种功能在现代网页和应用程序中至关重要,特别是对于那些没有...

    JavaScript常用107个语句

    JavaScript是一种广泛应用于Web开发的轻量级编程语言,它的语法灵活且功能强大,是实现网页动态效果、交互性以及服务器端脚本的关键工具。本文将详细介绍JavaScript中的107个常用语句,帮助初学者快速入门。 1. **...

    Javascript常用语句

    注释在编程中非常重要,可以用来解释代码的功能或暂时禁用某段代码。JavaScript 支持两种注释方式:单行注释(使用 `//`)和多行注释(使用 `/* */`)。 #### 三、HTML 文档结构 传统的HTML文档结构如下: - `...

    一个java的jar包可以集成到IDE中做JAVASCRIPT的测试。

    然而,在这个特定的情况下,我们可以看到一个非传统但非常实用的应用场景:将Java的jar包集成到集成开发环境(IDE)中,用于JavaScript的测试。这主要涉及到Java与JavaScript的交互以及IDE的扩展能力。 首先,我们...

    JavaScript实用范例辞典

    作为“JavaScript实用范例辞典”的代码集合,这个资源为开发者提供了大量可复用的代码示例,涵盖了网页开发中的各种常见功能。 在JavaScript中,函数是核心的组成部分,它们可以用来封装可重用的代码。例如,你可能...

    javascript200个实用实例

    "javascript200个实用实例"是一个集合了多种JavaScript功能和应用场景的资源包,旨在帮助开发者提升技能,快速解决实际问题。这个压缩包包含了200个精心挑选的实例,覆盖了窗口操作、图片处理、后台框架集成以及导航...

    JavaScript常用对象.md

    JavaScript 提供了一系列预定义的内置对象,开发者可以直接使用这些对象来增强程序的功能性。 #### 数组(Array) 数组是一种特殊的对象类型,用于存储有序的元素集合。数组元素可以通过索引访问,索引是从 0 开始...

    1500个javascript特效

    5. **拖放功能**:JavaScript可以实现拖放功能,让用户能直接通过鼠标操作移动元素,常用于文件上传、布局调整等场景。 6. **时间日期处理**:JavaScript可以方便地处理日期和时间,创建日历组件、倒计时、计时器等...

    Javascript中最常用的经典技巧

    - **知识点**: 通过插入一个特殊的 `&lt;noscript&gt;` 标签,可以使得页面在禁用 JavaScript 的情况下显示一个无法访问的链接,从而达到阻止用户保存的目的。 - **应用场景**: - 在版权保护较严格的网站中,作为一种...

    javascript十个最常用的自定义函数.pdf

    ### JavaScript 十个最常用的自定义函数详解 #### 一、引言 JavaScript 是一种广泛应用于网页开发中的脚本语言,它提供了强大的功能来增强网页的交互性和动态性。随着前端技术的发展,开发者们常常会遇到需要频繁...

Global site tag (gtag.js) - Google Analytics