zoukankan      html  css  js  c++  java
  • 原生JavaScript技巧大收集(1~10)

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

    01 function cutstr(str, len) {
    02     var temp;
    03     var icount = 0;
    04     var patrn = /[^x00-xff]/;
    05     var strre = "";
    06     for (var i = 0; i < str.length; i++) {
    07         if (icount < len - 1) {
    08             temp = str.substr(i, 1);
    09             if (patrn.exec(temp) == null) {
    10                 icount = icount + 1
    11             } else {
    12                 icount = icount + 2
    13             }
    14             strre += temp
    15         } else {
    16             break
    17         }
    18     }
    19     return strre + "..."
    20 }


    2、原生JavaScript获取域名主机

    01 function getHost(url) {
    02     var host = "null";
    03     if(typeof url == "undefined"|| null == url) {
    04         url = window.location.href;
    05     }
    06     var regex = /^w+://([^/]*).*/;
    07     var match = url.match(regex);
    08     if(typeof match != "undefined" && null != match) {
    09         host = match[1];
    10     }
    11     return host;
    12 }


    3、原生JavaScript清除空格

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


    4、原生JavaScript替换全部

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


    5、原生JavaScript转义html标签

    1 function HtmlEncode(text) {
    2     return text.replace(/&/g, '&amp').replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;')
    3 }


    6、原生JavaScript还原html标签

    1 function HtmlDecode(text) {
    2     return text.replace(/&amp;/g, '&').replace(/&quot;/g, '"').replace(/&lt;/g, '<').replace(/&gt;/g, '>')
    3 }


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

    01 Date.prototype.Format = function(formatStr) {
    02     var str = formatStr;
    03     var Week = ['日', '一', '二', '三', '四', '五', '六'];
    04     str = str.replace(/yyyy|YYYY/, this.getFullYear());
    05     str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100));
    06     str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1));
    07     str = str.replace(/M/g, (this.getMonth() + 1));
    08     str = str.replace(/w|W/g, Week[this.getDay()]);
    09     str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());
    10     str = str.replace(/d|D/g, this.getDate());
    11     str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());
    12     str = str.replace(/h|H/g, this.getHours());
    13     str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());
    14     str = str.replace(/m/g, this.getMinutes());
    15     str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());
    16     str = str.replace(/s|S/g, this.getSeconds());
    17     return str
    18 }


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

    1 function isDigit(value) {
    2     var patrn = /^[0-9]*$/;
    3     if (patrn.exec(value) == null || value == "") {
    4         return false
    5     } else {
    6         return true
    7     }
    8 }


    9、原生JavaScript设置cookie值

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


    10、原生JavaScript获取cookie值

    1 function getCookie(name) {
    2     var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    3     if (arr != null) return unescape(arr[2]);
    4     return null
    5 }
  • 相关阅读:
    FIREDAC(DELPHI10 or 10.1)提交数据给ORACLE数据库的一个不是BUG的BUG
    分布式系统的软肋——数据一致性
    原子操作
    Android---观察者模式的简单实现demo
    Android -- 获取网络数据并将数据存到本地数据库中
    加密模式
    Vue.js——vue-resource全攻略
    VUE---Missing space before function parentheses
    css:子元素div 上下左右居中方法总结
    扒取网站的源代码
  • 原文地址:https://www.cnblogs.com/LoveOrHate/p/4310164.html
Copyright © 2011-2022 走看看