javascript学习笔记之10个原生技巧

前端技术 2023/09/07 JavaScript

1、原生JavaScript实现字符串长度截取

复制代码 代码如下:

function cutstr(str, len) {
    var temp;
    var icount = 0;
    var patrn = /[^\\x00-\\xff]/;
    var strre = \"\";
    for (var i = 0; i < str.length; i++) {
        if (icount < len - 1) {
            temp = str.substr(i, 1);
            if (patrn.exec(temp) == null) {
                icount = icount + 1
            } else {
                icount = icount + 2
            }
            strre += temp
        } else {
            break
        }
    }
    return strre + \"...\"
}

2、原生JavaScript获取域名主机

复制代码 代码如下:

function getHost(url) {
    var host = \"null\";
    if(typeof url == \"undefined\"|| null == url) {
        url = window.location.href;
    }
    var regex = /^\\w+\\:\\/\\/([^\\/]*).*/;
    var match = url.match(regex);
    if(typeof match != \"undefined\" && null != match) {
        host = match[1];
    }
    return host;
}

3、原生JavaScript清除空格

复制代码 代码如下:

String.prototype.trim = function() {
    var reExtraSpace = /^\\s*(.*?)\\s+$/;
    return this.replace(reExtraSpace, \"$1\")
}

4、原生JavaScript替换全部

复制代码 代码如下:

String.prototype.replaceAll = function(s1, s2) {
    return this.replace(new RegExp(s1, \"gm\"), s2)
}

5、原生JavaScript转义html标签

复制代码 代码如下:

function HtmlEncode(text) {
    return text.replace(/&/g, \'&\').replace(/\\\"/g, \'\"\').replace(/</g, \'<\').replace(/>/g, \'>\')
}

6、原生JavaScript还原html标签

复制代码 代码如下:

function HtmlDecode(text) {
    return text.replace(/&/g, \'&\').replace(/\"/g, \'\\\"\').replace(/</g, \'<\').replace(/>/g, \'>\')
}

7、原生JavaScript时间日期格式转换

复制代码 代码如下:

Date.prototype.Format = function(formatStr) {
    var str = formatStr;
    var Week = [\'日\', \'一\', \'二\', \'三\', \'四\', \'五\', \'六\'];
    str = str.replace(/yyyy|YYYY/, this.getFullYear());
    str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : \'0\' + (this.getYear() % 100));
    str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : \'0\' + (this.getMonth() + 1));
    str = str.replace(/M/g, (this.getMonth() + 1));
    str = str.replace(/w|W/g, Week[this.getDay()]);
    str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : \'0\' + this.getDate());
    str = str.replace(/d|D/g, this.getDate());
    str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : \'0\' + this.getHours());
    str = str.replace(/h|H/g, this.getHours());
    str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : \'0\' + this.getMinutes());
    str = str.replace(/m/g, this.getMinutes());
    str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : \'0\' + this.getSeconds());
    str = str.replace(/s|S/g, this.getSeconds());
    return str
}

8、原生JavaScript判断是否为数字类型

复制代码 代码如下:

function isDigit(value) {
    var patrn = /^[0-9]*$/;
    if (patrn.exec(value) == null || value == \"\") {
        return false
    } else {
        return true
    }
}

9、原生JavaScript设置cookie值

复制代码 代码如下:

function setCookie(name, value, Hours) {
    var d = new Date();
    var offset = 8;
    var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
    var nd = utc + (3600000 * offset);
    var exp = new Date(nd);
    exp.setTime(exp.getTime() + Hours * 60 * 60 * 1000);
    document.cookie = name + \"=\" + escape(value) + \";path=/;expires=\" + exp.toGMTString() + \";domain=360doc.com;\"
}

10、原生JavaScript获取cookie值

复制代码 代码如下:

function getCookie(name) {
    var arr = document.cookie.match(new RegExp(\"(^| )\" + name + \"=([^;]*)(;|$)\"));
    if (arr != null) return unescape(arr[2]);
    return null
}

本文地址:https://www.stayed.cn/item/18155

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。