常用JS小知识汇总

1 上传图片:html代码

<input id="image" type='file' name='myFile' size='15' onchange="showPicture(this)" />
<img id="111" src="img/1.jpg" width="133" height="200" />

js代码:

<script type="text/javascript">
            function showPicture(imgFile) {
                // alert(window.URL.createObjectURL(imgFile.files[0]));
                /*获取上传文件的路径*/
                document.getElementById("111").src = window.URL.createObjectURL(imgFile.files[0]);
            }
</script>

 2 多个json数组合并为一个显示(定义一个空数组遍历各个子json,然后push进去)

 1 str1,str2,str3为3个json数组
 2 
 3 var result = new Array();
 4  
 5 for (var i = 0; i < str1.length; i++) {
 6     result .push(str1[i]);
 7 }
 8  
 9 for (var i = 0; i < str2.length; i++) {
10     result .push(str2[i]);
11 }
12  
13 for (var i = 0; i < str3.length; i++) {
14     result .push(str3[i]);
15 }

 3获取某个div的真实高度

parseInt($('#ceshi').get(0).offsetHeight)

 4选择器

$("input[name^='news']") //name是以news开始的input
$("input[name$='letter']") //name是以letter结尾的input
$("input[name*='man']")  //查找所有 name 包含 'man' 的 input 元素


 

 5数字转换成字母

//#region "数字转换成字母(1-A,2-B....,27-AA,28-AB....53-BA,54-BB...)"
function getCharacter(value) {
    var m = value % 26;
    var n = parseInt(value / 26);
    var preCode = ""
    if (n > 0) {
        preCode = getCharacter(n);
    }
    if (m > 0) {
        return preCode + CharCodeToString(m + 64);
    } else if (m == 0) {
        return preCode + CharCodeToString(90);
    }
}

function CharCodeToString(value) {
    return String.fromCharCode(value)
}
//#endregion

 6判断是否为空

//#region "判断是否为空"
function isNull(data) {
    return (data == "" || data == undefined || data == null) ? true : false;
}

7判断ie版本

//#region "IE" 
//判断ie版本    
function getInternetExplorerVersion() {
    var browser = navigator.appName;
    var b_version = navigator.appVersion;
    var version = b_version.split(";");
    if (version.length > 1) {
        var trim_Version = parseInt(version[1].replace(/[ ]/g, "").replace(/MSIE/g, ""));
        return trim_Version;
    } else {
        return 0;
    }

}

8日期格式扩展

//#region "日期格式扩展"
// var d = new Date(value);
// d.Format('yyyy-MM-dd')
function dateFormat() {
    Date.prototype.Format = function (fmt) {
        var o = {
            "M+": this.getMonth() + 1,                 //月份   
            "d+": this.getDate(),                    //
            "h+": this.getHours(),                   //小时   
            "m+": this.getMinutes(),                 //
            "s+": this.getSeconds(),                 //
            "q+": Math.floor((this.getMonth() + 3) / 3), //季度   
            "S": this.getMilliseconds()             //毫秒   
        };
        if (/(y+)/.test(fmt))
            fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
        for (var k in o)
            if (new RegExp("(" + k + ")").test(fmt))
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
        return fmt;
    }
}
//#endregion

9禁止重复调用、只允许执行一次的once 函数

//#region "禁止重复调用、只允许执行一次的once 函数"
function once(fn, context) {
    var result;
    return function () {
        if (fn) {
            result = fn.apply(context || this, arguments);
            fn = null;
        }
        return result;
    };
}
//#endregion

10共用的百分比格式化显示

//共用的百分比格式化显示
function formatPercent(value, rowData) {
    if (value) {
        if (value == "") {
            return '';
        } else if (parseFloat(value) == 0) {
            return '';
        } else {
            var s = parseFloat((value + "").replace(/[^d.-]/g, "")).toFixed(2) + "";  //格式化字符串,保留两位小数点
            return s + "%";
        }
    }
    return '';
}

11共用的数量格式化显示

//共用的数量格式化显示
function formatAmount(value, rowData) {
    if (value) {
        if (value == 0) {
            return '';
        } else {
            var oper = parseFloat(value) >= 0 ? "" : "-";
            value = Math.abs(value);
            var s = parseFloat((value + "").replace(/[^d.-]/g, "")).toFixed() + "";
            var l = value.toString().split(".")[0].split("").reverse();
            var r = value.toString().split(".")[1];
            t = "";
            for (i = 0; i < l.length; i++) {
                t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
            }
            if (r) {
                return oper + t.split("").reverse().join("") + "." + r;
            } else {
                return oper + t.split("").reverse().join("");
            }
        }
    } else {
        return '';
    }
}

12共用的金额格式化显示

//共用的金额格式化显示
function formatMoney(value, rowData) {
    if (value) {
        if (value == 0) {
            return '';
        } else {
            var oper = parseFloat(value) >= 0 ? "" : "-";
            value = Math.abs(value);    //取整
            with (Math) { //四舍五入
                value = Math.round(value * pow(10, 2)) / pow(10, 2);
                value = value.toFixed(2)
            }
            var n = 2;
            var s = parseFloat((value + "").replace(/[^d.-]/g, "")).toFixed(n) + "";
            var l = value.toString().split(".")[0].split("").reverse();
            var r = value.toString().split(".")[1];
            t = "";
            for (i = 0; i < l.length; i++) {
                t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
            }
            if (r) {
                return oper + t.split("").reverse().join("") + "." + r;
            } else {
                return oper + t.split("").reverse().join("") + ".00";
            }
        }
    } else {
        return '';
    }
}




13共用的日期格式化显示

//共用的日期格式化显示
function formatDate(value, rowData, rowIndex) {
    var ShowDate = "
    if (value.length > 0) {
        var d = new Date(value);
        ShowDate = d.Format("yyyy-MM-dd");
    }
    return ShowDate;
}

 14 数据加上千分号

function formatNumberRgx(num) {  
  var parts = num.toString().split(".");  
  parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ","); //正则表达式  
  return parts.join(".");  
};  

 15 数值转Money

//金额格式:参数:数值,保留小数位数,货币符号,整数部分千位分隔符,小数分隔符
        function formatMoney(number, places, symbol, thousand, decimal) {
            number = number || 0;
            places = !isNaN(places = Math.abs(places)) ? places : 2;
            symbol = symbol !== undefined ? symbol : "¥";
            thousand = thousand || ",";
            decimal = decimal || ".";
            var negative = number < 0 ? "-" : "",
            i = parseInt(number = Math.abs(+number || 0).toFixed(places), 10) + "",
            j = (j = i.length) > 3 ? j % 3 : 0;
            return symbol + negative + (j ? i.substr(0, j) + thousand : "") + i.substr(j).replace(/(d{3})(?=d)/g, "$1" + thousand) + (places ? decimal + Math.abs(number - i).toFixed(places).slice(2) : "");
        }
原文地址:https://www.cnblogs.com/Godlovezk/p/8136907.html