精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

發布一個JavaScript工具類庫jutil

開發 前端
都說好的設計是易于理解的,不用過多介紹,而這也是我現在想達到的目標,因此下面的介紹會比較簡單,如果大家哪個地方看不明白或有更好的建議,請提出來,我再優化。

由來

工作中jQuery用的比較多,但jQuery再強大也有些方法是沒有的,以前的做法就是東拼西湊,今天終于下定決心把平時用到的一些方法加以整理,這就是jutil的由來。

當前只有17個方法,涉及到的有Array、HTML、Cookie & localStorage、Date、String。這些方法都采用了原生的JS,不依賴于jQuery。

都說好的設計是易于理解的,不用過多介紹,而這也是我現在想達到的目標,因此下面的介紹會比較簡單,如果大家哪個地方看不明白或有更好的建議,請提出來,我再優化。

Array相關  

jutil.arrayDistinct(Array)

jutil.arrayIndexOf(Array,Item)

實現代碼如下:

  1.  arrayDistinct: function (arr) {  
  2.     var tempArr = {};  
  3.     for (var i = 0; i < arr.length; i++) {  
  4.         if (tempArr[arr[i] + 1]) {  
  5.             arr.splice(i, 1);  
  6.             i--;  
  7.             continue;  
  8.         }  
  9.         tempArr[arr[i] + 1] = true;  
  10.     }  
  11.     tempArr = null;  
  12.     return arr;  
  13. },  
  14. arrayIndexOf: function (arr, obj, iStart) {  
  15.     if (Array.prototype.indexOf) {  
  16.         return arr.indexOf(obj, (iStart || 0));  
  17.     }  
  18.     else {  
  19.         for (var i = (iStart || 0), j = arr.length; i < j; i++) {  
  20.             if (arr[i] === obj) {  
  21.                 return i;  
  22.             }  
  23.         }  
  24.         return -1;  
  25.     }  
  26. }, 

#p#

HTML相關  

jutil.htmlEncode(sHtml)

jutil.htmlDecode(sHtml)

實現代碼如下:

  1. htmlEncode: function (sHtml) {  
  2.     var div = this.document.createElement("div"),  
  3.         text = this.document.createTextNode(sHtml);  
  4.     div.appendChild(text);  
  5.     return div.innerHTML;  
  6. },  
  7. htmlDecode: function (sHtml) {  
  8.     var div = this.document.createElement("div");  
  9.     div.innerHTML = sHtml;  
  10.     return div.innerText || div.textContent;  
  11. }, 

如果有用jQuery,上面代碼可以進一步簡化為:

  1. htmlEncode: function (sHtml) {  
  2.     return $("div").text(sHtml).html();  
  3. },  
  4. htmlDecode: function (sHtml) {  
  5.     return $("div").html(sHtml).text();  
  6. }, 

#p#

Cookie & localStorage相關

jutil.getCookie(sKey)

jutil.setCookie(sKey, sValue, iExpireSeconds)

jutil.deleteCookie(sKey)

jutil.getStorage(sKey)//如果瀏覽器支持HTML5本地存儲(localStorage)優先用本地存儲,否則用cookie,下同

jutil.setStorage(sKey, sValue, iExpireSeconds)

jutil.deleteStorage(sKey)

實現代碼如下:

  1. getCookie: function (sKey) {  
  2.     if (!sKey)  
  3.         return "";  
  4.     if (document.cookie.length > 0) {  
  5.         var startIndex = document.cookie.indexOf(sKey + "=")  
  6.         if (startIndex != -1) {  
  7.             startIndex = startIndex + sKey.length + 1  
  8.             var endIndex = document.cookie.indexOf(";", startIndex)  
  9.             if (endIndex == -1) {  
  10.                 endIndex = document.cookie.length;  
  11.             }  
  12.             return decodeURIComponent(document.cookie.substring(startIndex, endIndex));  
  13.         }  
  14.     }  
  15.     return "" 
  16. },  
  17. setCookie: function (sKey, sValue, iExpireSeconds) {  
  18.     if (!sKey)  
  19.         return;  
  20.     var expireDate = new Date();  
  21.     expireDate.setTime(expireDate.getTime() + iExpireSeconds * 1000);  
  22.     this.document.cookie = sKey + "=" + encodeURIComponent(sValue) +   
  23.     ";expires=" + expireDate.toGMTString() + ";";  
  24. },  
  25. deleteCookie: function (sKey) {  
  26.     if (!sKey)  
  27.         return;  
  28.     this.document.cookie = sKey + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';  
  29. },  
  30. getStorage: function (sKey) {  
  31.     if (!sKey)  
  32.         return;  
  33.     if (window.localStorage) {  
  34.         return decodeURIComponent(localStorage.getItem(sKey));  
  35.     }  
  36.     else {  
  37.         return this.getCookie(sKey);  
  38.     }  
  39. },  
  40. setStorage: function (sKey, sValue, iExpireSeconds) {  
  41.     if (!sKey)  
  42.         return;  
  43.     if (window.localStorage) {  
  44.         localStorage.setItem(sKey, encodeURIComponent(sValue));  
  45.     }  
  46.     else {  
  47.         this.setCookie(sKey, sValue, iExpireSeconds);  
  48.     }  
  49. },  
  50. deleteStorage: function (sKey) {  
  51.     if (!sKey)  
  52.         return;  
  53.     if (window.localStorage) {  
  54.         localStorage.removeItem(sKey);  
  55.     }  
  56.     else {  
  57.         this.deleteCookie(sKey);  
  58.     }  
  59. }, 

#p#

Date相關  

jutil.daysInFebruary(obj)//obj:數字(如2012)或時間(如new Date())

jutil.daysInYear(obj)//obj:數字(如2012)或時間(如new Date())

jutil.dateFormat(date, sFormat, sLanguage)//sFormat:yyyy為年,MM為月,DD為日,hh為時,mm為分,ss為秒,MMM為月份,EEE為星期。sLanguage:默認為中文,可以設置成英文(en)

jutil.dateDiff(biggerDate, smallerDate)

jutil.dateInterval(biggerDate, smallerDate)

從名子大家可能看不出最后兩個方法的區別,這里命名可能是有些問題,大家有沒有推薦的?

dateDiff表示兩個時間之間相隔多長時間,返回的是"10分鐘"、"2天"等字符串,一般用在要顯示"XX分鐘前"、"XX天前"時。

dateInterval表示兩個時間精確差(精確到秒),返回的是"1天:1小時:1分鐘:1秒"這樣的字符串。

實現代碼如下:

  1. daysInFebruary: function (obj) {  
  2.     var year = 0;  
  3.     if (obj instanceof Date) {  
  4.         year = obj.getFullYear();  
  5.     }  
  6.     else if (typeof obj === "number") {  
  7.         year = obj;  
  8.     }  
  9.     else {  
  10.         return 0;  
  11.     }  
  12.     if (year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0)) {  
  13.         return 29;  
  14.     }  
  15.     return 28;  
  16. },  
  17. daysInYear: function (obj) {  
  18.     var year = 0;  
  19.     if (obj instanceof Date) {  
  20.         year = obj.getFullYear();  
  21.     }  
  22.     else if (typeof obj === "number") {  
  23.         year = obj;  
  24.     }  
  25.     else {  
  26.         return 0;  
  27.     }  
  28.     if (year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0)) {  
  29.         return 366;  
  30.     }  
  31.     return 365;  
  32. },  
  33. dateFormat: function (date, sFormat, sLanguage) {  
  34.     var time = {};  
  35.     time.Year = date.getFullYear();  
  36.     time.TYear = ("" + time.Year).substr(2);  
  37.     time.Month = date.getMonth() + 1;  
  38.     time.TMonth = time.Month < 10 ? "0" + time.Month : time.Month;  
  39.     time.Day = date.getDate();  
  40.     time.TDay = time.Day < 10 ? "0" + time.Day : time.Day;  
  41.     time.Hour = date.getHours();  
  42.     time.THour = time.Hour < 10 ? "0" + time.Hour : time.Hour;  
  43.     time.hour = time.Hour < 13 ? time.Hour : time.Hour - 12;  
  44.     time.Thour = time.hour < 10 ? "0" + time.hour : time.hour;  
  45.     time.Minute = date.getMinutes();  
  46.     time.TMinute = time.Minute < 10 ? "0" + time.Minute : time.Minute;  
  47.     time.Second = date.getSeconds();  
  48.     time.TSecond = time.Second < 10 ? "0" + time.Second : time.Second;  
  49.     time.Millisecond = date.getMilliseconds();  
  50.     time.Week = date.getDay();  
  51.  
  52.     var MMMArrEn = ["Jan""Feb""Mar""Apr""May""Jun""Jul""Aug""Sep""Oct""Nov""Dec"],  
  53.         MMMArr = ["一月""二月""三月""四月""五月""六月""七月""八月""九月""十月""十一月""十二月"],  
  54.         WeekArrEn = ["Sun""Mon""Tue""Web""Thu""Fri""Sat"],  
  55.         WeekArr = ["星期日""星期一""星期二""星期三""星期四""星期五""星期六"],  
  56.         oNumber = time.Millisecond / 1000;  
  57.  
  58.     if (sFormat != undefined && sFormat.replace(/\s/g, "").length > 0) {  
  59.         if (sLanguage != undefined && sLanguage === "en") {  
  60.             MMMArr = MMMArrEn.slice(0);  
  61.             WeekArr = WeekArrEn.slice(0);  
  62.         }  
  63.         sFormat = sFormat.replace(/yyyy/ig, time.Year)  
  64.         .replace(/yyy/ig, time.Year)  
  65.         .replace(/yy/ig, time.TYear)  
  66.         .replace(/y/ig, time.TYear)  
  67.         .replace(/MMM/g, MMMArr[time.Month - 1])  
  68.         .replace(/MM/g, time.TMonth)  
  69.         .replace(/M/g, time.Month)  
  70.         .replace(/dd/ig, time.TDay)  
  71.         .replace(/d/ig, time.Day)  
  72.         .replace(/HH/g, time.THour)  
  73.         .replace(/H/g, time.Hour)  
  74.         .replace(/hh/g, time.Thour)  
  75.         .replace(/h/g, time.hour)  
  76.         .replace(/mm/g, time.TMinute)  
  77.         .replace(/m/g, time.Minute)  
  78.         .replace(/ss/ig, time.TSecond)  
  79.         .replace(/s/ig, time.Second)  
  80.         .replace(/fff/ig, time.Millisecond)  
  81.         .replace(/ff/ig, oNumber.toFixed(2) * 100)  
  82.         .replace(/f/ig, oNumber.toFixed(1) * 10)  
  83.         .replace(/EEE/g, WeekArr[time.Week]);  
  84.     }  
  85.     else {  
  86.         sFormat = time.Year + "-" + time.Month + "-" + time.Day + " " + time.Hour + ":" + time.Minute + ":" + time.Second;  
  87.     }  
  88.     return sFormat;  
  89. },  
  90. dateDiff: function (biggerDate, smallerDate) {  
  91.     var intervalSeconds = parseInt((biggerDate - smallerDate) / 1000);  
  92.     if (intervalSeconds < 60) {  
  93.         return intervalSeconds + "秒";  
  94.     }  
  95.     else if (intervalSeconds < 60 * 60) {  
  96.         return Math.floor(intervalSeconds / 60) + "分鐘";  
  97.     }  
  98.     else if (intervalSeconds < 60 * 60 * 24) {  
  99.         return Math.floor(intervalSeconds / (60 * 60)) + "小時";  
  100.     }  
  101.     else if (intervalSeconds < 60 * 60 * 24 * 7) {  
  102.         return Math.floor(intervalSeconds / (60 * 60 * 24)) + "天";  
  103.     }  
  104.     else if (intervalSeconds < 60 * 60 * 24 * 31) {  
  105.         return Math.floor(intervalSeconds / (60 * 60 * 24 * 7)) + "周";  
  106.     }  
  107.     else if (intervalSeconds < 60 * 60 * 24 * 365) {  
  108.         return Math.floor(intervalSeconds / (60 * 60 * 24 * 30)) + "月";  
  109.     }  
  110.     else if (intervalSeconds < 60 * 60 * 24 * 365 * 1000) {  
  111.         return Math.floor(intervalSeconds / (60 * 60 * 24 * 365)) + "年";  
  112.     }  
  113.     else {  
  114.         return Math.floor(intervalSeconds / (60 * 60 * 24)) + "天";  
  115.     }  
  116. },  
  117. dateInterval: function (biggerDate, smallerDate) {  
  118.     var intervalSeconds = parseInt((biggerDate - smallerDate) / 1000),  
  119.         day = Math.floor(intervalSeconds / (60 * 60 * 24)),  
  120.         hour = Math.floor((intervalSeconds - day * 24 * 60 * 60) / 3600),  
  121.         minute = Math.floor((intervalSeconds - day * 24 * 60 * 60 - hour * 3600) / 60),  
  122.         second = Math.floor(intervalSeconds - day * 24 * 60 * 60 - hour * 3600 - minute * 60);  
  123.     return day + "天:" + hour + "小時:" + minute + "分鐘:" + second + "秒";  
  124. }, 

#p#

String相關

jutil.replaceURLWithHTMLLinks(sText, bBlank)

jutil.getLength(sVal, bChineseDouble)

這個就比較簡單了,直接上代碼:

  1. replaceURLWithHTMLLinks: function (sText, bBlank) {  
  2.     var pattern = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;  
  3.     if (bBlank) {  
  4.         sText = sText.replace(pattern, "<a target='_blank' href='$1'>$1</a>");  
  5.     }  
  6.     else {  
  7.         sText = sText.replace(pattern, "<a href='$1'>$1</a>");  
  8.     }  
  9.     return sText;  
  10. },  
  11. getLength: function (sVal, bChineseDouble) {  
  12.     var chineseRegex = /[\u4e00-\u9fa5]/g;  
  13.     if (bChineseDouble != undefined && bChineseDouble === false) {  
  14.         return sVal.length;  
  15.     }  
  16.     else {  
  17.         if (chineseRegex.test(sVal)) {  
  18.             return sVal.replace(chineseRegex, "zz").length;  
  19.         }  
  20.         return sVal.length;  
  21.     }  

測試代碼

測試效果:

小結

后面會繼續添加正則方面的內容,本文也會持續更新。目前JS下載鏈接:http://files.cnblogs.com/artwl/jutil.js

原文鏈接:http://www.cnblogs.com/artwl/archive/2012/07/09/2583114.html

責任編輯:張偉 來源: Artwl的博客
相關推薦

2017-07-18 18:06:00

JavaScript框架類庫

2013-04-08 10:54:51

Javascript

2022-12-09 15:02:44

2014-02-14 09:37:01

JavascriptDOM

2020-12-08 06:23:05

LockSupport線程工具

2017-12-14 16:55:33

2021-05-19 22:23:56

PythonJavaScript數據

2012-12-12 09:47:56

JavaScript

2022-12-05 14:39:33

Javascript工具

2023-12-07 09:44:29

2017-05-02 11:30:44

JavaScript數組惰性求值庫

2012-02-16 10:12:23

JavaScript

2025-08-18 01:45:00

2011-03-24 09:34:41

SPRING

2022-05-23 08:05:14

benchstat工具Go

2014-12-17 09:40:22

dockerLinuxPaaS

2020-09-02 07:22:17

JavaScript插件框架

2011-11-03 09:13:27

JavaScript

2012-04-10 13:37:28

JavaScript

2023-04-10 09:11:27

HutoolJava工具
點贊
收藏

51CTO技術棧公眾號

欧美在线免费视屏| 97精品久久久久中文字幕| 久久精品久久久久久| 无码人妻一区二区三区在线视频| 不卡av免费观看| 国产亚洲精品7777| 91麻豆蜜桃| 国产一级生活片| 精品一区二区三| 日韩丝袜美女视频| 国产亚洲天堂网| 女女色综合影院| 久久中文字幕电影| 亚洲一区二区三区在线免费观看| 日韩免费一级片| 色一区二区三区四区| 亚洲电影免费观看高清| 亚洲a级黄色片| 日韩欧美精品一区二区三区| 日韩码欧中文字| 鲁片一区二区三区| 国产成人三级一区二区在线观看一| 99riav1国产精品视频| 在线看福利67194| 免费的av网站| 日韩三级久久| 欧美日韩视频在线一区二区| 精品视频免费在线播放| 黄网站免费在线播放| 久久亚洲一级片| 国产精品一区二区不卡视频| 91国产精品一区| 日韩黄色片在线观看| 久久久免费观看视频| 九九这里只有精品视频| 久久不见久久见免费视频7| 欧美成人精品1314www| 日本三级黄色网址| 春暖花开亚洲一区二区三区| 午夜精品久久久久久久蜜桃app| 尤物国产精品| 高清在线观看av| 91免费在线播放| 国产伦精品一区二区三毛| 国产精品国产av| 老司机精品视频一区二区三区| 国产成人拍精品视频午夜网站| 一级片免费网址| 伊人成人在线视频| 欧美成人免费va影院高清| 91传媒免费观看| 99久久精品国产亚洲精品 | 青青草在线免费观看| 丁香一区二区三区| 成人h在线播放| 亚洲精品视频专区| 大陆成人av片| 国产精品毛片va一区二区三区| www.国产三级| 丁香五精品蜜臀久久久久99网站| 国产66精品久久久久999小说| 99久久久国产精品无码免费| 国产一区三区三区| 51午夜精品| 亚洲国产成人一区二区| 成人免费毛片app| 国产美女精品在线观看| 熟妇人妻中文av无码| 99视频在线精品| 欧美在线一二三区| 18视频免费网址在线观看| 国产精品久久久久久久久快鸭 | 日韩欧美www| 逼特逼视频在线观看| 国产欧美一区二区三区米奇| 亚洲精品wwww| 91l九色lporny| 天堂美国久久| 欧美华人在线视频| 草久久免费视频| 日日嗨av一区二区三区四区| 国产在线日韩在线| 亚洲第一色网站| 91蝌蚪porny九色| 亚洲狠狠婷婷综合久久久| 蜜芽在线免费观看| 亚洲国产精品久久艾草纯爱| aa免费在线观看| 四虎在线精品| 日韩av网址在线观看| 亚洲av毛片基地| 中文字幕一区二区三区乱码图片| 午夜精品一区二区三区在线 | 69av成人| 欧美三级电影网站| 欧美一级片在线免费观看| 丝袜久久网站| 久久精品视频一| 日韩免费一级片| 精品亚洲aⅴ乱码一区二区三区| 国产精品一区视频| 色网站免费在线观看| 亚洲一区二区三区四区中文字幕| 99精品视频播放| 国产精品亚洲欧美一级在线| 亚洲人成自拍网站| 九九热精品免费视频| 欧美aⅴ一区二区三区视频| 国产传媒一区二区| 日本在线视频观看| 欧美网站在线观看| 18深夜在线观看免费视频| 亚洲欧洲色图| 欧美激情第6页| 91亚洲视频在线观看| 久久综合一区二区| 国产av熟女一区二区三区| 日本一区二区电影| 日韩成人av在线播放| 曰本女人与公拘交酡| 欧美a级理论片| 欧美日韩在线高清| 超碰在线cao| 欧美成人伊人久久综合网| 精品手机在线视频| 午夜在线视频观看日韩17c| 91精品网站| 在线免费看黄| 欧美偷拍一区二区| 国产女主播喷水高潮网红在线| 欧美日韩国产成人精品| 成人欧美一区二区三区在线湿哒哒| 亚洲三级黄色片| 亚洲综合网站在线观看| 17c国产在线| 欧美精品色图| 国产精品国产三级国产aⅴ浪潮| 凸凹人妻人人澡人人添| 亚洲一区中文日韩| 18深夜在线观看免费视频| 亚洲精品tv久久久久久久久久| 国产精品免费久久久久影院| 久久国产精品高清一区二区三区| 午夜欧美一区二区三区在线播放| 亚洲区 欧美区| 真实国产乱子伦精品一区二区三区| 国产欧美日韩精品专区| 中国日本在线视频中文字幕| 在线观看免费亚洲| 亚洲一区视频在线播放| 久久精品亚洲| 日韩免费三级| 福利一区二区三区视频在线观看| 亚洲一区二区久久久| 神马久久久久久久| 亚洲国产精品高清| 视频二区在线播放| 久久精品影视| 97中文在线| 春色校园综合激情亚洲| 日韩电影免费在线观看中文字幕| 亚洲欧美自拍视频| 99精品国产视频| 嫩草av久久伊人妇女超级a| japanese国产精品| 国产精品一区二区三区久久久| 永久免费av在线| 51久久夜色精品国产麻豆| 91在线播放观看| 东方欧美亚洲色图在线| 日韩av一二三四区| 激情综合网站| 国产综合久久久久久| 亚洲妇熟xxxx妇色黄| 亚洲第一精品福利| 中文字幕精品无| 亚洲天堂久久久久久久| 国产一精品一aⅴ一免费| 国产精品日韩精品欧美精品| 亚洲欧美日本国产有色| 精品久久久久久久久久岛国gif| 欧美精品久久一区二区 | 91论坛在线播放| 男人添女人下面免费视频| 你懂的成人av| 欧美成人蜜桃| 亚洲人成网站在线在线观看| 精品中文字幕在线| 久久久久国产精品嫩草影院| 精品视频在线免费观看| 欧美精品一级片| 久久久久久久电影| 国产麻豆剧传媒精品国产| 亚洲在线电影| 影音先锋成人资源网站| 亚洲理论电影片| 亚洲www在线| 国偷自产一区二区免费视频| 欧美成人中文字幕在线| 精品久久久久一区二区三区| 日韩一区二区三区视频在线| 国产精品乱码一区二区视频| 一卡二卡三卡日韩欧美| www..com.cn蕾丝视频在线观看免费版| 国产精品一色哟哟哟| 激情视频综合网| 精品不卡视频| 久久最新免费视频| 久久不见久久见中文字幕免费| julia一区二区中文久久94| 视频在线日韩| 97超级碰碰人国产在线观看| 岛国成人毛片| 中文字幕在线看视频国产欧美在线看完整 | 麻豆电影在线播放| 亚洲一级免费视频| 香蕉久久一区二区三区| 91精品国产入口| 中文字幕精品一区二| 精品国产乱码久久久久酒店| www.色小姐com| 亚洲欧洲精品一区二区精品久久久 | 亚洲熟妇国产熟妇肥婆| 欧美一区激情| 一区二区高清视频| 国产成人高清| 乱一区二区三区在线播放| 伊人久久大香线蕉av超碰| 91精品久久久久久综合乱菊| japanese23hdxxxx日韩| 57pao成人国产永久免费| av伦理在线| 欧美久久久精品| 羞羞的视频在线观看| 日韩中文字幕亚洲| 97超碰国产一区二区三区| 亚洲欧洲中文天堂| 日色在线视频| 日韩精品在线观看网站| 视频污在线观看| 亚洲第一色中文字幕| 免费a视频在线观看| 欧美va日韩va| 黄色片一区二区| 亚洲成人黄色在线| 欧美一级做性受免费大片免费| 欧美videos中文字幕| 亚洲第一视频在线播放| 精品久久久久久久人人人人传媒| 亚洲av永久无码国产精品久久| 欧美一级在线视频| www日本高清视频| 亚洲白拍色综合图区| 欧美一级特黄aaaaaa大片在线观看| 精品国产伦一区二区三区免费| 丰满人妻一区二区三区免费视频 | 午夜精品久久久久久久99水蜜桃 | 亚洲精品视频网址| 国产精品色哟哟网站| 中文字幕精品亚洲| 亚洲人被黑人高潮完整版| 欧美成人免费看| 香蕉成人伊视频在线观看| 国产精品suv一区| 欧美性视频一区二区三区| 97caocao| 日韩美女天天操| 深夜影院在线观看| 一本色道久久88综合日韩精品| 午夜看片在线免费| 欧美猛男性生活免费| 岛国av在线播放| 国产精品男女猛烈高潮激情| 国产在线视频欧美一区| 国产一区免费视频| 国产区精品区| 国产在线无码精品| 一本色道久久综合亚洲精品不| 欧美一级黄色片视频| 精品一区二区在线免费观看| 亚洲av成人片无码| 国产欧美日韩激情| 青青草原国产视频| 色久综合一二码| 国产xxxx在线观看| 亚洲男人天堂2024| 黄色免费网站在线| 欧美在线视频免费| 电影中文字幕一区二区| 精品国产二区在线| 日韩精品1区| 黄色www网站| 精品一区二区三区香蕉蜜桃| 欧美在线一级片| 国产精品久久久久婷婷二区次| 精品少妇久久久| 欧美性感一类影片在线播放| 午夜精品久久久久久久91蜜桃| 亚洲精品美女网站| 二区在线播放| 国产成人精品久久二区二区91| 一区中文字幕| 亚洲欧洲日韩综合二区| 妖精视频成人观看www| 午夜激情影院在线观看| 久久久久久久久久看片| 久久综合久久鬼| 欧美精品在欧美一区二区少妇| 天堂а√在线8种子蜜桃视频| 久久久91精品国产一区不卡| gay欧美网站| 国产亚洲精品久久飘花| 国产精品久久久乱弄| 福利在线一区二区三区| 成人免费看黄yyy456| 五月天激情丁香| 欧美丝袜自拍制服另类| 色视频在线观看免费| 欧美大片大片在线播放| 久久夜夜久久| 精品乱子伦一区二区三区| 欧美日韩精选| 奇米视频7777| 国产精品久久久久久亚洲伦| 久久精品无码av| 亚洲精品电影网在线观看| 日本乱理伦在线| 亚洲一区二区少妇| 99久精品视频在线观看视频| 欧美婷婷精品激情| 国产视频一区在线播放| 亚洲免费黄色网址| 日韩禁在线播放| 蜜桃麻豆影像在线观看| 韩日午夜在线资源一区二区 | 91精品国产91久久久久久久久 | 亚洲女同志freevdieo| 国内精品视频免费| 一区福利视频| 国产精品九九视频| 婷婷国产在线综合| 天天综合网天天综合| 4438全国成人免费| 日韩免费电影在线观看| 黄色av网址在线播放| 97精品电影院| 久久国产视频精品| 亚洲欧洲日产国产网站| 亚洲第一会所| 一级做a爰片久久| 国内成人自拍视频| 国产波霸爆乳一区二区| 日韩欧美电影在线| 成人福利影视| 免费电影一区| 日韩综合小视频| 亚洲女人久久久| 日韩精品中文字幕在线不卡尤物 | 婷婷开心激情综合| 日本啊v在线| 国产精品视频网| 亚洲成人一区| 国产综合内射日韩久| 午夜精品123| 国产私拍精品| 成人精品一区二区三区| 亚洲一级网站| 欧美做受xxxxxⅹ性视频| 欧美日韩免费一区二区三区| 麻豆视频在线免费观看| 99中文字幕| 久久精品一本| 希岛爱理中文字幕| 精品久久人人做人人爱| 色在线视频观看| 亚洲人成人77777线观看| 国产美女视频一区| 国产又爽又黄的视频| 中文字幕日韩av电影| 亚洲天堂av资源在线观看| 9久久9毛片又大又硬又粗| 欧美激情综合在线| 精品毛片在线观看| 茄子视频成人在线| 天堂美国久久| 欧美图片一区二区| 欧美区视频在线观看| 国产社区精品视频| 五月婷婷综合色| 成人黄色国产精品网站大全在线免费观看| 精品人妻一区二区三区免费看 | 精品国产91洋老外米糕| 亚洲综合在线电影| 黄网站色视频免费观看| 久久精品视频在线免费观看| 国产成人精品一区二区无码呦 | 九九热最新视频//这里只有精品| 五月综合久久| 亚洲精品一二三四| 在线观看日韩高清av|