分享100个原生JavaScript技巧1

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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获取域名主机

1
2
3
4
5
6
7
8
9
10
11
12
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清除空格

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

  4、原生JavaScript替换全部

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

  5、原生JavaScript转义html标签

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

  6、原生JavaScript还原html标签

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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判断是否为数字类型

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

  9、原生JavaScript设置cookie值

1
2
3
4
5
6
7
8
9
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值

1
2
3
4
5
function getCookie(name) {
     var arr = document.cookie.match( new RegExp( "(^| )" + name + "=([^;]*)(;|$)" ));
     if (arr != null ) return unescape(arr[2]);
     return null
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值