javascript 实用函数

1.去除字符串空格

/*去左空格*/
function ltrim(s) {
    return s.replace(/^(\s*| *)/, "");
}

/*去右空格*/
function rtrim(s) {
    return s.replace(/(\s*| *)$/, "");
}

/*去左右空格*/
function trim(s) {
    return ltrim(rtrim(s));
}

2.获取url地址栏参数

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

3.数字千分位转换

/*数字格式转换成千分位*/
function numToMicrometer(num) {
    if (trim(num + "") == "") {
        return "";
    }
    if (isNaN(num)) {
        return "";
    }
    num = num + "";
    if (/^.*\..*$/.test(num)) {
        varpointIndex = num.lastIndexOf(".");
        varintPart = num.substring(0, pointIndex);
        varpointPart = num.substring(pointIndex + 1, num.length);
        intPart = intPart + "";
        var re = /(-?\d+)(\d{3})/
        while (re.test(intPart)) {
            intPart = intPart.replace(re, "$1,$2")
        }
        num = intPart + "." + pointPart;
    } else {
        num = num + "";
        var re = /(-?\d+)(\d{3})/
        while (re.test(num)) {
            num = num.replace(re, "$1,$2")
        }
    }
    return num;
}

/*去除千分位*/
function delMicrometer(num) {
    if (trim(num + "") == "") {
        return "";
    }
    num = num.replace(/,/gi, ‘‘);
    return num;
}

4.获取给定字符串占用的字节长度

function getByteLen(val) { // 传入一个字符串
    var len = 0;
    for (var i = 0; i < val.length; i++) {
        if (val[i].match(/[^\x00-\xff]/ig) != null) // 全角
            len += 2; // 如果是全角,占用两个字节
        else
            len += 1; // 半角占用一个字节
    }
    return len;
}

5.构建url参数

/*
param = {
  name1 : value1,
  name2 : value2,
  ...
}
*/
function buildParam(param) {
    var paramContent = ‘‘;
    try {
        if (!empty(param)) {
            for (var key in param) {
                paramContent += key + ‘=‘ + encodeURIComponent(param[key])
                        + ‘&‘;
            }
        }
    } catch (e) {
    }
    return paramContent;
}

6.判断变量是否空值 undefined, null, ‘‘, false, 0, [], {} 均返回true,否则返回false

function empty(v) {
    switch (typeof v) {
        case ‘undefined‘ :
            return true;
        case ‘string‘ :
            if (trim(v).length == 0)
                return true;
            break;
        case ‘boolean‘ :
            if (!v)
                return true;
            break;
        case ‘number‘ :
            if (0 === v)
                return true;
            break;
        case ‘object‘ :
            if (null === v)
                return true;
            if (undefined !== v.length && v.length == 0)
                return true;
            for (var k in v) {
                return false;
            }
            return true;
            break;
    }
    return false;
}

7.去除html标签

/*去除html标记*/
function removeHtmlTag(str) {
    return str.replace(/<[^>]+>/g, "");
}

8.获取url参数(返回数组类型)

function getRequestParam(param) {
    var url = location.search; // 获取url中"?"符后的字串
    var paramStr = new Array();

    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for (var i = 0; i < strs.length; i++) {
            if (param == strs[i].split("=")[0]) {
                paramStr.push(strs[i].split("=")[1]);
            }
        }
    }
    return paramStr;
}

9.指定字符高亮

function setHighLightText(txt, currentTargetText) {
    if (empty(txt)) {
        return ‘‘;
    }
    var newTxt = txt;
    if (currentTargetText.length != 0) {
        $(currentTargetText).each(function(i) {
            var reg = new RegExp(currentTargetText[i], "g");
            newTxt = newTxt.replace(reg, "<em>" + currentTargetText[i]
                            + "</em>");
        });
    }
    return newTxt;
}

10.替换url中的指定参数

function changeURLArg(url, paramName, paramName_val) {
    var pattern = paramName + ‘=([^&]*)‘;
    var replaceText = paramName + ‘=‘ + paramName_val;
    if (url.match(pattern)) {
        var tmp = ‘/(‘ + paramName + ‘=)([^&]*)/gi‘;
        tmp = url.replace(eval(tmp), replaceText);
        return tmp;
    } else {
        if (url.match(‘[\?]‘)) {
            return url + ‘&‘ + replaceText;
        } else {
            return url + ‘?‘ + replaceText;
        }
    }
    return url + ‘\n‘ + paramName + ‘\n‘ + paramName_val;
}
时间: 2024-08-30 00:16:05

javascript 实用函数的相关文章

jQuery碎语(4) 实用函数

6.实用函数 ● 修剪字符串 $('#id').val($.trim($('#someid').val())) ● 遍历集合 可能这样写: var anArray = ['one','two']; for(var n = 0; n < anArray.length; n++){ } 还有可能这样写: var anObject = {one: 1, two: 2}; for(var p in anObject){ } 但有了$.each函数后,就可以这样写了: var anArray = ['on

DOM无关的jQuery实用函数

实用函数:定义在jQuery/$命名空间下不操作包装集的函数,可以看做定义在$实例而不是window实例上的顶级函数.一般这些实用函数要么操作除DOM元素以外的对象,要么执行一些对象无关的操作. 公共用途的jQuery标志: $.fx.off:启用或禁用特效,不会废除已经在页面使用的特效,只是禁用了动画特效. $.support:所支持特征的详细信息 $.browser:公开浏览器的细节,jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取

jQuery复习—DOM无关的jQuery实用函数

DOM无关的jQuery实用函数 一.实用函数的定义 定义在jQuery/$命名空间下不操作包装集的函数.一般来说这些使用函数要么操作除DOM元素以外的JavaScript对象,要么执行一些与Dom操作无关的操作. 二.操作JavaScript对象和集合 1.修建字符串  $.trim(value) 定义:删除传入的字符串开头和结尾处的空白字符,并返回修改后的结果 参数:value需要修改的字符串 返回值:修改后的字符串 $.trim($('#someFiled').val()); 2.遍历属性

【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)

Util.js (持续更新中...) 项目地址: https://github.com/dragonir/Util.js 项目描述 Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包含:数组类.浏览器类.日期类.函数类.数学类.媒体类.节点类.对象类.字符串类.类型检测类.正则表达式类等内容. 使用方法 1. 引入Bable transpiler以保证支持ES6 <script type="javascript/text" src="./browser

JavaScript Function 函数深入总结

整理了JavaScript中函数Function的各种,感觉函数就是一大对象啊,各种知识点都能牵扯进来,不单单是 Function 这个本身原生的引用类型的各种用法,还包含执行环境,作用域,闭包,上下文,私有变量等知识点的深入理解. 函数中的return return 语句可以不带有任何返回值,在这种情况下( return; 或函数中不含 return 语句时),函数在停止执行后将返回 undefiend 值.这种用法一般在需要提前停止函数执行而又不需要返回值的情况下. return false

javascript中函数作用域之”提升“

javascript中函数作用域之变量提升 当我们在函数内部用关键字var声明一个变量的时候,此变量的作用域限制在当前函数. 提升:在一个作用域内部,不管一个变量用var声明的位置在哪里,这个变量属于当前整个作用域,并且在当前作用域的任何位置都可以访问它.在javascript中,这种行为/现象称之为"提升",即一个变量在一个作用域的任何位置用var声明,javascript引擎都会把这些用var声明的变量"移动"到当前作用域的开始处. 谈到javascript这种

JavaScript 常用函数总结

javascript函数:  ·常规函数  ·数组函数  ·日期函数  ·数学函数  ·字符串函数 .cookie函数 1.常规函数 javascript常规函数包括以下9个函数:  (1)alert函数:显示一个警告对话框,包括一个OK按钮.  (2)confirm函数:显示一个确认对话框,包括OK.Cancel按钮.  (3)escape函数:将字符转换成Unicode码.  (4)eval函数:计算表达式的结果.  (5)isNaN函数:测试是(true)否(false)不是一个数字. 

JavaScript调用函数的方法

摘要:这篇文章详细的介绍了Javascript中各种函数调用的方法及其原理,对于理解JavaScript的函数有很大的帮助! 一次又一次的,我发现,那些有bug的Javascript代码是由于没有真正理解Javascript函数是如何工作而导致的(顺便说一下,许多那样的代码是我写的).JavaScript拥有函数式编程的特性,当我们选择面对它的时候,这将成为我们前进的阻碍.  作为初学者,我们来测试五种函数调用的方法,从表面来看我们会认为那些函数与C#中函数的作用非常相似,但是我们一会儿可以看到

javascript篇-----函数作用域,函数作用域链和声明提前

在一些类似C语言的编程语言中,花括号内的每一段代码都具有各自的作用域,而且变量在声明它们的代码段之外是不可见的(也就是我们不能在代码段外直接访问代码段内声明的变量),我们称之为块级作用域,然而,不同于这类型的编程语言,javascript是没有块级作用域.取而代之的,javascript使用的是块级作用域:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的. 在如下的所示的代码中,在不同位置定义了变量 i . j 和 k ,它们都在同一个作用域内——这三个变量在函数体内均是有定义