JavaScript操作cookie與localStorage

stavencsdn發表於2016-09-09

js操作cookie

  1. var Cookie = {
  2. setCookie: function(key, value, expiredays) {
  3. expiredays = expiredays || 30; //預設30天 
  4. var exdate = new Date();   
  5. exdate.setDate(exdate.getDate() + expiredays);   
  6. document.cookie = key + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
  7. },
  8. getCookie: function(key) {
  9. var arr, reg = new RegExp("(^| )" + key + "=([^;]*)(;|$)");
  10. return (arr = document.cookie.match(reg)) ? unescape(arr[2]) : null;
  11. },
  12. removeCookie: function(key) {
  13. var exp = new Date();
  14. exp.setTime(exp.getTime() - 1);
  15. var cval = this.getCookie(key);
  16. if(cval != null)
  17. document.cookie = key + "=" + cval + ";expires=" + exp.toGMTString();
  18. }
  19. };
  20. Cookie.setCookie('name', 'staven');
  21. Cookie.removeCookie('name');
  22. Cookie.getCookie('name');

使用localstorage儲存資料

  1. var LocalStorage = {
  2. getLs: function(str) {
  3. var msgArr = localStorage.getItem(str);
  4. return !msgArr ? msgArr = [] : msgArr = msgArr.split(',');
  5. },
  6. /**
  7.  * 
  8.  * @param {String} key  鍵值
  9.  * @param {String} str 須存入的內容,若存入多個用"/"隔開
  10.  * @param {Number} num 最大存入的條數
  11.  */
  12. setLs: function(key, str, num) {
  13. var msgArr = this.getLs(key);
  14. num = num || 10;
  15. str = str || '';
  16. if(str.indexOf("/") == -1 && msgArr.indexOf(str) == -1){
  17. msgArr.unshift(str);
  18. }else{
  19. var list = str.split('/');
  20. for(var i=0,len=list.length; i<len; i++){
  21. if(!!list[i] && msgArr.indexOf(list[i]) == -1){
  22. msgArr.unshift(list[i]);
  23. if(msgArr.length == num+1) return;
  24. }
  25. }
  26. }
  27. if(msgArr.length == num+1) {
  28. msgArr.pop();
  29. }
  30. msgArr = msgArr.join(',');
  31. localStorage.setItem(key, msgArr);
  32. },
  33. removeLs: function(str) {
  34. localStorage.removeItem(str);
  35. },
  36.     clearLs: function(str) {
  37.         localStorage.clear();
  38.     }
  39. };
  40. LocalStorage.setLs('name',"staven", 10);
  41. //LocalStorage.setLs('name',"1/2/3/4/5/6", 8);
  42. console.log(LocalStorage.getLs('name'));
  43. //LocalStorage.removeLs('name');

相關文章