JavaScript 常用的小功能集合

1. 得到当前用户使用的浏览器的内核版本

function getExplorer(){  
   var browser = "";
var explorer = window.navigator.userAgent; if (explorer.indexOf("MSIE") >= 0) { // ie10及以下 var b_version = navigator.appVersion; var version = b_version.split(";"); version = version[1].replace(/[ ]/g, ""); version = version.split('MSIE')[1]; browser = 'IE:' + version; } else if (explorer.indexOf("Firefox") >= 0) { // Firefox browser = 'Firefox'; } else if (explorer.indexOf("Chrome") >= 0) { // Chrome browser = 'Chrome'; } else if (explorer.indexOf("Opera") >= 0) { // Opera browser = 'Opera'; } else if (explorer.indexOf("Safari") >= 0) { // Safari browser = 'Safari'; } else if (explorer.indexOf("Trident/7.0") >= 0) { // IE11 browser = 'IE:10.0以上'; } return browser; }

2. 禁止鼠标右键操作

function click() {
    if(event.button == 2 || event.button == 3) {
        alert("禁止鼠标右键操作");
    }
}
document.onmousedown = click;    

3. 关闭当前窗口

function closeWin() {
    window.close();
    return false;
}

4. 打印当前页面

function printWin() {
    window.print();
}

5. 获取 URL 中传递的参数

function getQueryString(name) { 
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 
    var r = window.location.search.substr(1).match(reg); 
    if (r != null) {
        return unescape(r[2]); 
    }
    return null; 
} 

6. 时间格式转换

/**
 * 时间转换
 * @param {Object} fmt
 */
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;
}

用法:
new Date().Format("yyyy-MM-dd HH:mm:ss") ==> 2017-12-31 18:23:12

7. 删除数组中的某一个数据

var arr = ['a', 'b', 'c', 'd', 'e'];
console.log("1-->" + arr);
arr.splice(2, 1);
console.log("2-->" + arr)

输出:
 1-->a,b,c,d,e
 2-->a,b,d,e

 8. 转义字符转换为普通字符

/**
 * 转意符换成普通字符
 * @param {Object} str
 */
function escape2Html(str) {
     var arrEntities = {
         'lt':'<',
         'gt':'>',
         'nbsp':' ',
         'amp':'&',
         'quot':'"'
     };
     return str.replace(/&(lt|gt|nbsp|amp|quot);/ig,    function(all, t) {
         return arrEntities[t];
     });
}

 9. js 对数组进行中文排序

/**
 * js 中文排序
 * @param {Object} param1
 * @param {Object} param2
 */
function compareFunction(param1, param2) {
    param1 = param1.name;
    param2 = param2.name;
    return param1.localeCompare(param2, "zh");
}

用法:
dataArray为一个数组
dataArray.sort(compareFunction);

 10. css 实现表格 table 两点之间添加斜线

background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%"><line x1="0" y1="0" x2="100%" y2="100%" stroke="black" stroke-width="1"/></svg>');

 11. DIV 实现类似 INPUT 的编辑操作

<div contenteditable="true"></div>

监听 DIV 中的值改变:
<div contenteditable="true" oninput="onDivChange(this);"></div>

function onDivChange(elem) {
  console.log($(elem).text());
}

 

 

 

持续更新中(欢迎各位提出需要的功能)...

posted @ 2017-10-18 15:37  走在一线的码农  阅读(262)  评论(0编辑  收藏  举报