base.js,通用js方法,Js方法封装

================================

©Copyright 蕃薯耀 2020-08-11

https://www.cnblogs.com/fanshuyao/

base.js

//增加window.console定义,解决IE6、7、8、9使用console.log报未定义的错误
window.console = window.console || (function(){
    var c = {}; 
    c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function(){};
    return c;
})();

/**
* 去掉字符串头尾空格
* @param str 传入的字符串值
*/
function trim(str) {
    if(str == null || typeof str == "undefined"){
        return "";
    }
    return str.replace(/(^s*)|(s*$)/g, "");
};

/** 
 * 是否为Null 
 * @param object 
 * @returns {Boolean} 
 */  
function isNull(object){  
    if(object == null || typeof object == "undefined"){  
        return true;  
    }  
    return false;  
}; 

/** 
 * 是否为空字符串,有空格不是空字符串 
 * @param str 
 * @returns {Boolean} 
 */  
function isEmpty(str){  
    if(str == null || typeof str == "undefined" ||   
            str == ""){  
        return true;  
    }  
    return false;  
};

/** 
 * 是否为空字符串,有空格也是空字符串 
 * @param str 
 * @returns {Boolean} 
 */  
function isBlank(str){  
    if(isEmpty(str) || isEmpty($.trim(str))){  
        return true;  
    }  
    return false;  
};

function removeLastCode(str){
    if(str == null || str.length < 1){
        return str;
    }
    return str.substring(0, str.length-1);
};

/**
 * 设置select选中
 * @param selectId select的id值
 * @param checkValue 选中option的值
*/
function setOptionSelected(selectId, checkValue){
    var select = document.getElementById(selectId);
    for(var i=0; i<select.options.length; i++){
        if(select.options[i].innerHTML == checkValue){
            select.options[i].selected = true;
            break;
        }
    }
};

/**
 * 获取checkbox选中数量
 * @param name checkbox的name值
*/
function getCheckBoxLength(name){
    var length = 0;
    var checkboxes;
    if(name == null || name == ""){
        checkboxes = document.getElementsByTagName("input");
        for(var j=0;j<checkboxes.length;j++){
            if(checkboxes[j].type=='checkbox' && checkboxes[j].checked){
                length+=1;
            }
        }
    }else{
        checkboxes = document.getElementsByName(name);
        for(var i=0;i<checkboxes.length;i++){
            if(checkboxes[i].checked){
                length+=1;
            }
        }
    }
    return length;
};

function getCheckedLength(name){
    var length = 0;
    if(name == null || name == ""){
        alert("请添加参数name");
    }else{
        var inputs = document.getElementsByName(name);
        for(var i=0;i<inputs.length;i++){
            if(inputs[i].checked){
                length += 1;
            }
        }
    }
    return length;
};


/**
 * 只返回一个checkbox的值
 * @param name
 * @returns
 */
function getCheckedValue(name){
    var value = null;
    if(name == null || name == ""){
        alert("请添加参数name");
    }else{
        var inputs = document.getElementsByName(name);
        for(var i=0;i<inputs.length;i++){
            if(inputs[i].checked){
                value = inputs[i].value;
                break;
            }
        }
    }
    return value;
};

/**
 * 返回勾选checkbox的所有值(字符串,通过,分隔)
 * @param name
 * @returns
 */
function getCheckedValues(name){
    var values = "";
    if(name == null || name == ""){
        alert("方法getCheckedValues(name)需要添加参数name");
    }else{
        var inputs = document.getElementsByName(name);
        if(inputs != null && inputs.length > 0){
            var splitCode = ",";
            for(var i=0; i<inputs.length; i++){
                if(inputs[i].checked){
                    values  += inputs[i].value + splitCode;
                }
            }
            if(values.indexOf(splitCode) > -1){
                values = removeLastCode(values);
            }
        }
    }
    return values;
};

/**
 * 设置checkbox选中,同时适用于设置radio选中
 * @param name checkbox的name属性
 * @param checkValues checkbox的选择的值,通过英文逗号(,)连接
 */
function setChecked(name, checkValues){
    var checkboxes = document.getElementsByName(name);
    var checkboxesLength = checkboxes.length;
    
    var checkValuesArray = checkValues.split(",");
    var checkValuesArrayLength = checkValuesArray.length;
    
    if(checkboxesLength > 0 && checkValuesArrayLength > 0){
        for(var i=0; i<checkboxesLength; i++){
            for(var j=0; j<checkValuesArrayLength; j++){
                if(checkboxes[i].value == checkValuesArray[j]){
                    checkboxes[i].checked = true;
                    break;
                }
            }
        }
    }
};

/**
 * 根据id让Checkbox选中
 * @param id
 */
function checked(id){
    document.getElementById(id).checked = true;
};

/**
 * 根据id判断Checkbox是否选中
 * jquery方式:$("input[type='checkbox']").is(':checked')
 * @param id
 * @returns {Boolean}
 */
function isChecked(id){
    if(isEmpty(id)){
        alert("isChecked(id)方法中的id不能为空");
        return;
    }
    if(document.getElementById(id).checked){
        return true;
    }
    return false;
};

/**
 * 根据name判断Checkbox是否选中,有一个选中即返回true,所有不选中则返回false
 * @param name
 * @returns {Boolean}
 */
function isCheckedByName(name){
    if(isEmpty(name)){
        alert("isCheckedByName(name)方法中的name不能为空");
        return;
    }
    var checkboxes = document.getElementsByName(name);
    if(checkboxes != null && checkboxes.length > 0){
        for(var i=0; i<checkboxes.length; i++){
            if(checkboxes[i].checked){
                return true;
            }
        }
    }
    return false;
};

/**
 * 根据name判断所有Checkbox是否选中,所有选中则返回true,一个没选中返回false
 * @param name
 * @returns {Boolean}
 */
function isCheckedAllByName(name){
    if(isEmpty(name)){
        alert("isCheckedAllByName(name)方法中的name不能为空");
        return;
    }
    var checkboxes = document.getElementsByName(name);
    var checkboxesLength = checkboxes.length;
    var count = 0;
    if(checkboxes != null && checkboxesLength > 0){
        for(var i=0; i<checkboxesLength; i++){
            if(checkboxes[i].checked){
                count ++;
            }
        }
        if(count == checkboxesLength){//由于上面已经判断checkboxesLength > 0,这里不需要判断count==0,因为checkboxesLength已经不为0
            return true;
        }
    }
    return false;
};


/*
function thisIframeHeightAuto(){
    setIframeHeight("auditList");
};
 */
//window.setInterval("iframeHeightAuto()", 200);
function setIframeHeight(iframeId){
    var cwin = document.getElementById(iframeId);
    if(document.getElementById){
        if(cwin && !window.opera){
            if(cwin.contentDocument && cwin.contentDocument.body.offsetHeight){
                cwin.height = cwin.contentDocument.body.offsetHeight;//FF NS
                //console.log("FF NS cwin.height=" +cwin.height);
            }else if(cwin.Document && cwin.Document.body.scrollHeight){
                cwin.height = cwin.Document.body.scrollHeight;//IE
                //console.log("IE cwin.height=" +cwin.height);
            }
        }else if(cwin.contentWindow.document && cwin.contentWindow.document.body.scrollHeight){
            cwin.height = cwin.contentWindow.document.body.scrollHeight;//Opera
        }
    }
    //console.log("cwin.height=" + cwin.height);
};

/**
 * 是否为数字(仅正数),包括正整数、正小数、0
 * @param value
 * @returns
 */
function isNumber(value){
    var z_reg = /^(([0-9])|([1-9]([0-9]+)))(.[0-9]+)?$/;
    return z_reg.test(value);
};

/**
 * 是否为所有数字(正数、负数),包括整数、小数、0
 * @param value
 * @returns
 */
function isNumberAll(value){
    var z_reg = /^(-)?(([0-9])|([1-9]([0-9]+)))(.[0-9]+)?$/;
    return z_reg.test(value);
};

/**
 * 是否为正整数,包括正整数和0
 * @param value
 * @returns
 */
function isInteger(value){
    var z_reg = /^(([0-9])|([1-9]([0-9]+)))$/;
    return z_reg.test(value);
};

/**
 * 是否为所有整数,包括正整数、负整数、0
 * @param value
 * @returns
 */
function isIntegerAll(value){
    var z_reg = /^(-)?(([0-9])|([1-9]([0-9]+)))$/;
    return z_reg.test(value);
};

/**
 * 是否为小数(仅正小数)
 * @param value
 * @returns
 */
function isDouble(value){
    var z_reg = /^(([0-9])|([1-9]([0-9]+)))(.[0-9]+)$/;
    return z_reg.test(value);
};

/**
 * 是否为所有小数(正小数、负小数、0.0)
 * @param value
 * @returns
 */
function isDoubleAll(value){
    var z_reg = /^(-)?(([0-9])|([1-9]([0-9]+)))(.[0-9]+)$/;
    return z_reg.test(value);
};

================================

©Copyright 蕃薯耀 2020-08-11

https://www.cnblogs.com/fanshuyao/

原文地址:https://www.cnblogs.com/fanshuyao/p/13473640.html