资讯专栏INFORMATION COLUMN

js常用方法使用总结

maybe_009 / 3019人阅读

摘要:说明在项目中使用一些工具类,公共类是非常有必要的,不仅是后台,前段亦是一样这里提供我收集的常用方法封装代码可以在资源共享,我的代码中下载。注意字符串的拼接一定使用来拼接,否则容易造成浏览器卡顿或内存溢出。

说明:

在项目中使用一些工具类,公共类是非常有必要的,不仅是后台,前段亦是一样

这里提供我收集的常用方法封装

代码可以在资源共享,我的代码中下载。

注意:

字符串的拼接一定使用StringBuffer来拼接,否则容易造成浏览器卡顿或内存溢出。特别是针对一些执行js效率不高的浏览器!!

经常对输入框里内容清空,对textarea,可以直接$("textarea").empty();如果使用$("textarea").html("");也可能会造成浏览器内存溢出!!

Date工具类
/********************** date工具类 ***************/
Date.prototype.format = function(format){
    var o = {
        "M+" : this.getMonth()+1, //month
        "d+" : this.getDate(), //day
        "h+" : this.getHours(), //hour
        "m+" : this.getMinutes(), //minute
        "s+" : this.getSeconds(), //second
        "q+" : Math.floor((this.getMonth()+3)/3), //quarter
        "S" : this.getMilliseconds() //millisecond
    }
    if(/(y+)/.test(format)) format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4- RegExp.$1.length));
    for(var k in o)if(new RegExp("("+ k +")").test(format))
    format = format.replace(RegExp.$1,RegExp.$1.length==1? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
    return format;
};
公共工具类
/********************** 公共工具类 ***************/
var PublicUtil ={
    isNotEmpty:     function(val){
        return !this.isEmpty(val);
    },
    isEmpty: function(val){
        if ((val==null || typeof(val)=="undefined")|| (typeof(val)=="string"&&val==""&&val!="undefined")){
           return true;
        }else{
            return false;
        }
    },
    isDebug: function(){
        if(this.isNotEmpty(configDebug)&&configDebug=="true"){
            return true;
        }else{
            return false;
        }
    },
    //去除元素内所有内容 strIds:"#id1,#id2,#id3"
    emptyHtml: function(strIds){
        try{
            var ids = strIds.trim(",").split(",");
            $(ids).each(function(){
                var obj = $(this.toString());
                if(obj.length>0){
                    $(obj).each(function(){
                        $(this).html("");
                    });
                }else{
                    obj.html("");
                }
            });
        }catch(ex){
            if(PublicUtil.isDebug()){
                throw new Error("js方法:【PublicUtil.emptyHtml(strIds)】,error!");
            }
        }
    },
    //去除元素的值 strIds:"#id1,#id2,#id3"
    emptyValue: function(strIds){
        try{
            var ids = strIds.trim(",").split(",");
            $(ids).each(function(){
                var obj = $(this.toString());
                if(obj.length>0){
                    $(obj).each(function(){
                        $(this).val("");
                    });
                }else{
                    obj.val("");
                }
            });
        }catch(ex){
            if(PublicUtil.isDebug()){
                throw new Error("js方法:【PublicUtil.emptyValue(strIds)】,error!");
            }
        }
    },
    //去除Textarea内所有内容 strIds:"#id1,#id2,#id3"
    emptyTextarea: function(strIds){
        try{
            var ids = strIds.trim(",").split(",");
            $(ids).each(function(){
                var obj = $(this.toString());
                if(obj.length>0){
                    $(obj).each(function(){
                        $(this).empty();
                        $(this).val("");
                    });
                }else{
                    obj.empty();
                    obj.val("");
                }
            });
        }catch(ex){
            if(PublicUtil.isDebug()){
                throw new Error("js方法:【PublicUtil.emptyTextarea(strIds)】,error!");
            }
        }
    }
}
String 工具类
/********************** String工具类***************/
//trim去掉字符串两边的指定字符,默去空格
String.prototype.trim = function(tag) {
    if (!tag) { 
        tag = "s";
    }else { 
        if (tag == "") { 
        tag = ""; 
    } else if (tag == "," || tag == "|" || tag == ";") { 
            tag = "" + tag; 
        }else { 
            tag = "s"; 
        } 
    }
    eval("var reg=/(^" + tag + "+)|(" + tag + "+$)/g;"); 
    return this.replace(reg, "");
};
//字符串截取后面加入...
String.prototype.interceptString = function(len) {
    if (this.length > len) {
        return this.substring(0, len) + "...";
    } else {
        return this;
    }
}
//将一个字符串用给定的字符变成数组
String.prototype.toArray = function(tag) {
    if (this.indexOf(tag) != -1) {
        return this.split(tag);
    }else {
        if (this != "") {
            return [this.toString()];
        }else {
            return [];
        }
    }
}
//只留下数字(0123456789)
String.prototype.toNumber= function() { 
    return this.replace(/D/g, ""); 
}
//保留中文  
String.prototype.toCN= function() {  
    var regEx = /[^u4e00-u9fa5uf900-ufa2d]/g;  
    return this.replace(regEx, "");  
}
//转成int
String.prototype.toInt= function() {  
    var temp = this.replace(/D/g, "");
    return isNaN(parseInt(temp)) ? this.toString() : parseInt(temp);  
}
//是否是以XX开头
String.prototype.startsWith= function(tag){
    return this.substring(0, tag.length) == tag;
}
//是否已XX结尾
String.prototype.endWith= function(tag){
    return this.substring(this.length - tag.length) == tag;
}
//StringBuffer
var StringBuffer = function() {
    this._strs = new Array; 
};
StringBuffer.prototype.append = function (str) { 
    this._strs.push(str); 
}; 
StringBuffer.prototype.toString = function() { 
    return this._strs.join(""); 
};
String.prototype.replaceAll = function(s1,s2){
    return this.replace(new RegExp(s1,"gm"),s2);
}
Arry
/********************** Arry ***************/
//根据数据取得再数组中的索引
Array.prototype.getIndex = function(obj){
    for (var i = 0; i < this.length; i++) {
        if (obj == this[i]) {
            return i;
        }
    }
    return -1;
}
//移除数组中的某元素
Array.prototype.remove= function (obj) {
    for (var i = 0; i < this.length; i++) {
        if (obj == this[i]) {
            this.splice(i, 1);
            break;
        }
    }
    return this;
}
//判断元素是否在数组中
Array.prototype.contains= function (obj) {
    for (var i = 0; i < this.length; i++) {
        if (obj == this[i]) {
            return true;
        }
    }
    return false;
}
浏览器相关操作
/********************** 浏览器相关操作 ***************/
//进入全屏模式,  判断各种浏览器,找到正确的方法
var launchFullScreen = function (element) {
  if(element.requestFullscreen) {
    element.requestFullscreen();
  } else if(element.mozRequestFullScreen) {
    element.mozRequestFullScreen();
  } else if(element.webkitRequestFullscreen) {
    element.webkitRequestFullscreen();
  } else if(element.msRequestFullscreen) {
    element.msRequestFullscreen();
  }
  return true;
}
//退出全屏模式
var exitFullScreen = function () {
  if(document.exitFullscreen) {
    document.exitFullscreen();
  } else if(document.mozCancelFullScreen) {
    document.mozCancelFullScreen();
  } else if(document.webkitExitFullscreen) {
    document.webkitExitFullscreen();
  }
  return false;
}

//cookie操作
var CookieUtil={
    path: "/",
    domain: "demo.j2ee.com",
    add: function(name,val){
        $.cookie(name, val, {expires: 7, path: this.path, domain: this.domain, secure: true});
    },
    remove: function(name){
        $.cookie(name, null,{path: this.path, domain: this.domain});
    },
    get: function(name){
         $.cookie(name,{path: this.path, domain: this.domain});
    }
}
//error
var error={
     e_404: function(){
         alertMessage("404","未找到改页面!","warning");
     },
     e_500: function(){
         alertMessage("500","服务器内部错误!","error");
     },
     e_403: function(){
         alertMessage("403","权限不足!","warning");
     }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/90148.html

相关文章

  • Webpack 常用命令总结以及常用打包压缩方法

    摘要:全局安装初始化默认的文件下载插件到并在文件中加上的配置内容对项目进行打包自动监控文件的改变打包时显示隐藏的模块打包时显示显示详细错误信息安装并将该配置到文件中入口出口加载器插件安装完乘后执行报错,原因npminstall webpack -g // 全局安装webpack npminit //初始化默认的package.json文件 npminstall webpack -...

    番茄西红柿 评论0 收藏0
  • JS总结篇--[总结]JS常用方法与片段

    摘要:元素是通过指定的分隔符进行分隔的。返回值一个字符串数组,执行的操作与执行的操作是相反的。返回值与没有参数的方法返回的字符串相同。 1.javascript删除元素节点 IE中有这样一个方法:removeNode(),这个方法在IE下是好使的,但是在Firefox等标准浏览器中就会报错了 removeNode is not defined,但是在核心JS中有一个操作DOM节点的方法叫:r...

    spacewander 评论0 收藏0
  • JS总结篇--[总结]JS操作DOM常用API详解

    摘要:文本整理了操作的一些常用的,根据其作用整理成为创建,修改,查询等多种类型的,主要用于复习基础知识,加深对原生的认识。方法主要是用于添加大量节点到文档中时会使用到。 文本整理了javascript操作DOM的一些常用的api,根据其作用整理成为创建,修改,查询等多种类型的api,主要用于复习基础知识,加深对原生js的认识。 基本概念 在讲解操作DOM的api之前,首先我们来复习一下一些基...

    malakashi 评论0 收藏0
  • 前端性能优化常用总结

    摘要:前言对于前端的性能话题,从来都没有断绝过。作为一个前端开发者,性能是我们关注的指标。前端发展以来,优化方式,琳琅满目,有雅虎军规等。所以,接下来我会从三个方面就前端性能进行总结网络方面操作及渲染方面数据方面。 前言 对于前端的性能话题,从来都没有断绝过。因为这个东西没有最好,只有更好。而且往往也是业务的繁杂程度去决定优化程度的。作为一个前端开发者,性能是我们关注的指标。它直接影响着我们...

    oliverhuang 评论0 收藏0
  • 前端性能优化常用总结

    摘要:前言对于前端的性能话题,从来都没有断绝过。作为一个前端开发者,性能是我们关注的指标。前端发展以来,优化方式,琳琅满目,有雅虎军规等。所以,接下来我会从三个方面就前端性能进行总结网络方面操作及渲染方面数据方面。 前言 对于前端的性能话题,从来都没有断绝过。因为这个东西没有最好,只有更好。而且往往也是业务的繁杂程度去决定优化程度的。作为一个前端开发者,性能是我们关注的指标。它直接影响着我们...

    walterrwu 评论0 收藏0

发表评论

0条评论

maybe_009

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<