萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> JavaScript的10個原生技巧分享

JavaScript的10個原生技巧分享

   本文給大家分享的是個人總結的10條非常常用的原生javascript的小技巧,都是平時項目中用到的,這裡總結記錄下來,有需要的小伙伴可以參考下。

  1、實現字符串長度截取

  ?

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、獲取域名主機

  ?

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、清除空格

  ?

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

  4、替換全部

  ?

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

  5、轉義html標簽

  ?

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

  6、還原html標簽

  復制代碼 代碼如下:

  function HtmlDecode(text) {

  return text.replace(/&/g, '&').replace(/"/g, '"').replace(//g, '>')

  }

  7、時間日期格式轉換

  ?

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、判斷是否為數字類型

  ?

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、設置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、獲取cookie值

  ?

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

  以上所述就是本文的全部內容了,希望大家能夠喜歡。

copyright © 萬盛學電腦網 all rights reserved