原生JavaScript技巧大收集100(上)(1)

來源:互聯網
上載者:User

1、原生JavaScript實現字串長度截取

  1. function cutstr(str, len) { 
  2.     var temp; 
  3.     var icount = 0; 
  4.     var patrn = /[^\x00-\xff]/; 
  5.     var strre = ""; 
  6.     for (var i = 0; i < str.length; i++) { 
  7.         if (icount < len - 1) { 
  8.             temp = str.substr(i, 1); 
  9.             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擷取網域名稱主機

  1. function getHost(url) { 
  2.     var host = "null"; 
  3.     if(typeof url == "undefined"|| null == url) { 
  4.         url = window.location.href; 
  5.     } 
  6.     var regex = /^\w+\:\/\/([^\/]*).*/; 
  7.     var match = url.match(regex); 
  8.     if(typeof match != "undefined" && null != match) { 
  9.         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, '&').replace(/\"/g, '"').replace(/</g, '<').replace(/>/g, '>') 
  3. } 

7、原生JavaScript時間日期格式轉換

  1. Date.prototype.Format = function(formatStr) { 
  2.     var str = formatStr; 
  3.     var Week = ['日', '一', '二', '三', '四', '五', '六']; 
  4.     str = str.replace(/yyyy|YYYY/, this.getFullYear()); 
  5.     str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100)); 
  6.     str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1)); 
  7.     str = str.replace(/M/g, (this.getMonth() + 1)); 
  8.     str = str.replace(/w|W/g, Week[this.getDay()]); 
  9.     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. } 

11、原生JavaScript加入收藏夾

  1. function AddFavorite(sURL, sTitle) { 
  2.     try { 
  3.         window.external.addFavorite(sURL, sTitle) 
  4.     } catch(e) { 
  5.         try { 
  6.             window.sidebar.addPanel(sTitle, sURL, "") 
  7.         } catch(e) { 
  8.             alert("加入收藏失敗,請使用Ctrl+D進行添加") 
  9.         } 
  10.     } 
  11. } 

12、原生JavaScript設為首頁

  1. function setHomepage() { 
  2.     if (document.all) { 
  3.         document.body.style.behavior = 'url(#default#homepage)'; 
  4.         document.body.setHomePage('http://www.jq-school.com') 
  5.     } else if (window.sidebar) { 
  6.         if (window.netscape) { 
  7.             try { 
  8.                 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect") 
  9.             } catch(e) { 
  10.                 alert("該操作被瀏覽器拒絕,如果想啟用該功能,請在地址欄內輸入 about:config,然後將項 signed.applets.codebase_principal_support 值該為true") 
  11.             } 
  12.         } 
  13.         var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch); 
  14.         prefs.setCharPref('browser.startup.homepage', 'http://www.jq-school.com') 
  15.     } 
  16. } 


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.