日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

JS前端常用工具方法

發(fā)布時間:2024/9/27 HTML 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS前端常用工具方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


目錄

  • 1. 郵箱
  • 2. 手機號碼
  • 3. 電話號碼
  • 4. URL地址
  • 5. 是否字符串
  • 6. 是否數(shù)字
  • 7. 是否Boolean
  • 8. 是否函數(shù)
  • 9. 是否為null
  • 10. 是否undefined
  • 11. 是否對象
  • 12. 是否數(shù)組
  • 13. 是否時間
  • 14. 是否正則
  • 15. 是否錯誤對象
  • 16. 是否Symbol函數(shù)
  • 17. 是否Promise對象
  • 18. 是否Set對象
  • 19. 是否是微信瀏覽器
  • 20. 是否是移動端
  • 21. 是否是QQ瀏覽器
  • 22. 是否是爬蟲
  • 23. 是否ios
  • 24. 是否為PC端
  • 25. 去除html標簽
  • 26. 獲取url參數(shù)
  • 27. 動態(tài)引入js
  • 28. 根據(jù)url地址下載
  • 29. el是否包含某個class
  • 30. el添加某個class
  • 31. el去除某個class
  • 32. 獲取滾動的坐標
  • 33. 滾動到頂部
  • 34. el是否在視口范圍內(nèi)
  • 35. 洗牌算法隨機
  • 36. 劫持粘貼板
  • 37. 判斷類型集合
  • 38. 嚴格的身份證校驗
  • 39. 隨機數(shù)范圍
  • 40. 將阿拉伯數(shù)字翻譯成中文的大寫數(shù)字
  • 41. 將數(shù)字轉換為大寫金額
  • 42. 判斷一個元素是否在數(shù)組中
  • 43. each 方法
  • 44. map 方法
  • 45. 數(shù)組排序
  • 46. 去重
  • 47. 求兩個集合的并集
  • 48. 求兩個集合的交集
  • 49. 刪除其中一個元素
  • 50. 將類數(shù)組轉換為數(shù)組的方法
  • 51. 最大值
  • 52. 最小值
  • 53. 求和
  • 54. 平均值
  • 55. 去除空格
  • 56. 字符轉換
  • 57. 檢測密碼強度
  • 58. 函數(shù)節(jié)流器
  • 59. 在字符串中插入新字符串
  • 60. 判斷兩個對象是否鍵值相同
  • 61. 16進制顏色轉RGB\RGBA字符串
  • 62. 追加url參數(shù)
  • 63. 判斷 a 數(shù)組是否包含 b 數(shù)組中
  • 64. 將數(shù)組分片
  • 65. 復制內(nèi)容
  • 66. 生成UUID



一個 Github 庫:https://github.com/hangjob/vue-admin/blob/master/src/utils/util.js

1. 郵箱

export const isEmail = (s) => {return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s) }

2. 手機號碼

export const isMobile = (s) => {return /^1[0-9]{10}$/.test(s) }

3. 電話號碼

export const isPhone = (s) => {return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s) }

4. URL地址

export const isURL = (s) => {return /^http[s]?:\/\/.*/.test(s) }

5. 是否字符串

export const isString = (o) => {return Object.prototype.toString.call(o).slice(8, -1) === 'String' }

6. 是否數(shù)字

export const isNumber = (o) => {return Object.prototype.toString.call(o).slice(8, -1) === 'Number' }

7. 是否Boolean

export const isBoolean = (o) => {return Object.prototype.toString.call(o).slice(8, -1) === 'Boolean' }

8. 是否函數(shù)

export const isFunction = (o) => {return Object.prototype.toString.call(o).slice(8, -1) === 'Function' }

9. 是否為null

export const isNull = (o) => {return Object.prototype.toString.call(o).slice(8, -1) === 'Null' }

10. 是否undefined

export const isUndefined = (o) => {return Object.prototype.toString.call(o).slice(8, -1) === 'Undefined' }

11. 是否對象

export const isObj = (o) => {return Object.prototype.toString.call(o).slice(8, -1) === 'Object' }

12. 是否數(shù)組

export const isArray = (o) => {return Object.prototype.toString.call(o).slice(8, -1) === 'Array' }

13. 是否時間

export const isDate = (o) => {return Object.prototype.toString.call(o).slice(8, -1) === 'Date' }

14. 是否正則

export const isRegExp = (o) => {return Object.prototype.toString.call(o).slice(8, -1) === 'RegExp' }

15. 是否錯誤對象

export const isError = (o) => {return Object.prototype.toString.call(o).slice(8, -1) === 'Error' }

16. 是否Symbol函數(shù)

export const isSymbol = (o) => {return Object.prototype.toString.call(o).slice(8, -1) === 'Symbol' }

17. 是否Promise對象

export const isPromise = (o) => {return Object.prototype.toString.call(o).slice(8, -1) === 'Promise' }

18. 是否Set對象

export const isSet = (o) => {return Object.prototype.toString.call(o).slice(8, -1) === 'Set' } export const ua = navigator.userAgent.toLowerCase();

19. 是否是微信瀏覽器

export const isWeiXin = () => {return ua.match(/microMessenger/i) == 'micromessenger' }

20. 是否是移動端

export const isDeviceMobile = () => {return /android|webos|iphone|ipod|balckberry/i.test(ua) }

21. 是否是QQ瀏覽器

export const isQQBrowser = () => {return !!ua.match(/mqqbrowser|qzone|qqbrowser|qbwebviewtype/i) }

22. 是否是爬蟲

export const isSpider = () => {return /adsbot|googlebot|bingbot|msnbot|yandexbot|baidubot|robot|careerbot|seznambot|bot|baiduspider|jikespider|symantecspider|scannerlwebcrawler|crawler|360spider|sosospider|sogou web sprider|sogou orion spider/.test(ua) }

23. 是否ios

export const isIos = () => {var u = navigator.userAgent;if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) { //安卓手機return false} else if (u.indexOf('iPhone') > -1) {//蘋果手機return true} else if (u.indexOf('iPad') > -1) {//iPadreturn false} else if (u.indexOf('Windows Phone') > -1) {//winphone手機return false} else {return false} }

24. 是否為PC端

export const isPC = () => {var userAgentInfo = navigator.userAgent;var Agents = ["Android", "iPhone","SymbianOS", "Windows Phone","iPad", "iPod"];var flag = true;for (var v = 0; v < Agents.length; v++) {if (userAgentInfo.indexOf(Agents[v]) > 0) {flag = false;break;}}return flag; }

25. 去除html標簽

export const removeHtmltag = (str) => {return str.replace(/<[^>]+>/g, '') }

26. 獲取url參數(shù)

export const getQueryString = (name) => {const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');const search = window.location.search.split('?')[1] || '';const r = search.match(reg) || [];return r[2]; }

27. 動態(tài)引入js

export const injectScript = (src) => {const s = document.createElement('script');s.type = 'text/javascript';s.async = true;s.src = src;const t = document.getElementsByTagName('script')[0];t.parentNode.insertBefore(s, t); }

28. 根據(jù)url地址下載

export const download = (url) => {var isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;var isSafari = navigator.userAgent.toLowerCase().indexOf('safari') > -1;if (isChrome || isSafari) {var link = document.createElement('a');link.href = url;if (link.download !== undefined) {var fileName = url.substring(url.lastIndexOf('/') + 1, url.length);link.download = fileName;}if (document.createEvent) {var e = document.createEvent('MouseEvents');e.initEvent('click', true, true);link.dispatchEvent(e);return true;}}if (url.indexOf('?') === -1) {url += '?download';}window.open(url, '_self');return true; }

29. el是否包含某個class

export const hasClass = (el, className) => {let reg = new RegExp('(^|\\s)' + className + '(\\s|$)')return reg.test(el.className) }

30. el添加某個class

export const addClass = (el, className) => {if (hasClass(el, className)) {return}let newClass = el.className.split(' ')newClass.push(className)el.className = newClass.join(' ') }

31. el去除某個class

export const removeClass = (el, className) => {if (!hasClass(el, className)) {return}let reg = new RegExp('(^|\\s)' + className + '(\\s|$)', 'g')el.className = el.className.replace(reg, ' ') }

32. 獲取滾動的坐標

export const getScrollPosition = (el = window) => ({x: el.pageXOffset !== undefined ? el.pageXOffset : el.scrollLeft,y: el.pageYOffset !== undefined ? el.pageYOffset : el.scrollTop });

33. 滾動到頂部

export const scrollToTop = () => {const c = document.documentElement.scrollTop || document.body.scrollTop;if (c > 0) {window.requestAnimationFrame(scrollToTop);window.scrollTo(0, c - c / 8);} }

34. el是否在視口范圍內(nèi)

export const elementIsVisibleInViewport = (el, partiallyVisible = false) => {const { top, left, bottom, right } = el.getBoundingClientRect();const { innerHeight, innerWidth } = window;return partiallyVisible? ((top > 0 && top < innerHeight) || (bottom > 0 && bottom < innerHeight)) &&((left > 0 && left < innerWidth) || (right > 0 && right < innerWidth)): top >= 0 && left >= 0 && bottom <= innerHeight && right <= innerWidth; }

35. 洗牌算法隨機

export const shuffle = (arr) => {var result = [],random;while (arr.length > 0) {random = Math.floor(Math.random() * arr.length);result.push(arr[random])arr.splice(random, 1)}return result; }

36. 劫持粘貼板

export const copyTextToClipboard = (value) => {var textArea = document.createElement("textarea");textArea.style.background = 'transparent';textArea.value = value;document.body.appendChild(textArea);textArea.select();try {var successful = document.execCommand('copy');} catch (err) {console.log('Oops, unable to copy');}document.body.removeChild(textArea); }

37. 判斷類型集合

export const checkStr = (str, type) => {switch (type) {case 'phone': //手機號碼return /^1[3|4|5|6|7|8|9][0-9]{9}$/.test(str);case 'tel': //座機return /^(0\d{2,3}-\d{7,8})(-\d{1,4})?$/.test(str);case 'card': //身份證return /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(str);case 'pwd': //密碼以字母開頭,長度在6~18之間,只能包含字母、數(shù)字和下劃線return /^[a-zA-Z]\w{5,17}$/.test(str)case 'postal': //郵政編碼return /[1-9]\d{5}(?!\d)/.test(str);case 'QQ': //QQ號return /^[1-9][0-9]{4,9}$/.test(str);case 'email': //郵箱return /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(str);case 'money': //金額(小數(shù)點2位)return /^\d*(?:\.\d{0,2})?$/.test(str);case 'URL': //網(wǎng)址return /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/.test(str)case 'IP': //IPreturn /((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/.test(str);case 'date': //日期時間return /^(\d{4})\-(\d{2})\-(\d{2}) (\d{2})(?:\:\d{2}|:(\d{2}):(\d{2}))$/.test(str) || /^(\d{4})\-(\d{2})\-(\d{2})$/.test(str)case 'number': //數(shù)字return /^[0-9]$/.test(str);case 'english': //英文return /^[a-zA-Z]+$/.test(str);case 'chinese': //中文return /^[\\u4E00-\\u9FA5]+$/.test(str);case 'lower': //小寫return /^[a-z]+$/.test(str);case 'upper': //大寫return /^[A-Z]+$/.test(str);case 'HTML': //HTML標記return /<("[^"]*"|'[^']*'|[^'">])*>/.test(str);default:return true;} }

38. 嚴格的身份證校驗

export const isCardID = (sId) => {if (!/(^\d{15}$)|(^\d{17}(\d|X|x)$)/.test(sId)) {console.log('你輸入的身份證長度或格式錯誤')return false}//身份證城市var aCity = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "內(nèi)蒙古", 21: "遼寧", 22: "吉林", 23: "黑龍江", 31: "上海", 32: "江蘇", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山東", 41: "河南", 42: "湖北", 43: "湖南", 44: "廣東", 45: "廣西", 46: "海南", 50: "重慶", 51: "四川", 52: "貴州", 53: "云南", 54: "西藏", 61: "陜西", 62: "甘肅", 63: "青海", 64: "寧夏", 65: "新疆", 71: "臺灣", 81: "香港", 82: "澳門", 91: "國外" };if (!aCity[parseInt(sId.substr(0, 2))]) {console.log('你的身份證地區(qū)非法')return false}// 出生日期驗證var sBirthday = (sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2))).replace(/-/g, "/"),d = new Date(sBirthday)if (sBirthday != (d.getFullYear() + "/" + (d.getMonth() + 1) + "/" + d.getDate())) {console.log('身份證上的出生日期非法')return false}// 身份證號碼校驗var sum = 0,weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2],codes = "10X98765432"for (var i = 0; i < sId.length - 1; i++) {sum += sId[i] * weights[i];}var last = codes[sum % 11]; //計算出來的最后一位身份證號碼if (sId[sId.length - 1] != last) {console.log('你輸入的身份證號非法')return false}return true }

39. 隨機數(shù)范圍

export const random = (min, max) => {if (arguments.length === 2) {return Math.floor(min + Math.random() * ((max + 1) - min))} else {return null;} }

40. 將阿拉伯數(shù)字翻譯成中文的大寫數(shù)字

export const numberToChinese = (num) => {var AA = new Array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十");var BB = new Array("", "十", "百", "仟", "萬", "億", "點", "");var a = ("" + num).replace(/(^0*)/g, "").split("."),k = 0,re = "";for (var i = a[0].length - 1; i >= 0; i--) {switch (k) {case 0:re = BB[7] + re;break;case 4:if (!new RegExp("0{4}//d{" + (a[0].length - i - 1) + "}$").test(a[0]))re = BB[4] + re;break;case 8:re = BB[5] + re;BB[7] = BB[5];k = 0;break;}if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0)re = AA[0] + re;if (a[0].charAt(i) != 0)re = AA[a[0].charAt(i)] + BB[k % 4] + re;k++;}if (a.length > 1) // 加上小數(shù)部分(如果有小數(shù)部分){re += BB[6];for (var i = 0; i < a[1].length; i++)re += AA[a[1].charAt(i)];}if (re == '一十')re = "十";if (re.match(/^一/) && re.length == 3)re = re.replace("一", "");return re; }

41. 將數(shù)字轉換為大寫金額

export const changeToChinese = (Num) => {//判斷如果傳遞進來的不是字符的話轉換為字符if (typeof Num == "number") {Num = new String(Num);};Num = Num.replace(/,/g, "") //替換tomoney()中的“,”Num = Num.replace(/ /g, "") //替換tomoney()中的空格Num = Num.replace(/¥/g, "") //替換掉可能出現(xiàn)的¥字符if (isNaN(Num)) { //驗證輸入的字符是否為數(shù)字//alert("請檢查小寫金額是否正確");return "";};//字符處理完畢后開始轉換,采用前后兩部分分別轉換var part = String(Num).split(".");var newchar = "";//小數(shù)點前進行轉化for (var i = part[0].length - 1; i >= 0; i--) {if (part[0].length > 10) {return "";//若數(shù)量超過拾億單位,提示}var tmpnewchar = ""var perchar = part[0].charAt(i);switch (perchar) {case "0":tmpnewchar = "零" + tmpnewchar;break;case "1":tmpnewchar = "壹" + tmpnewchar;break;case "2":tmpnewchar = "貳" + tmpnewchar;break;case "3":tmpnewchar = "叁" + tmpnewchar;break;case "4":tmpnewchar = "肆" + tmpnewchar;break;case "5":tmpnewchar = "伍" + tmpnewchar;break;case "6":tmpnewchar = "陸" + tmpnewchar;break;case "7":tmpnewchar = "柒" + tmpnewchar;break;case "8":tmpnewchar = "捌" + tmpnewchar;break;case "9":tmpnewchar = "玖" + tmpnewchar;break;}switch (part[0].length - i - 1) {case 0:tmpnewchar = tmpnewchar + "元";break;case 1:if (perchar != 0) tmpnewchar = tmpnewchar + "拾";break;case 2:if (perchar != 0) tmpnewchar = tmpnewchar + "佰";break;case 3:if (perchar != 0) tmpnewchar = tmpnewchar + "仟";break;case 4:tmpnewchar = tmpnewchar + "萬";break;case 5:if (perchar != 0) tmpnewchar = tmpnewchar + "拾";break;case 6:if (perchar != 0) tmpnewchar = tmpnewchar + "佰";break;case 7:if (perchar != 0) tmpnewchar = tmpnewchar + "仟";break;case 8:tmpnewchar = tmpnewchar + "億";break;case 9:tmpnewchar = tmpnewchar + "拾";break;}var newchar = tmpnewchar + newchar;}//小數(shù)點之后進行轉化if (Num.indexOf(".") != -1) {if (part[1].length > 2) {// alert("小數(shù)點之后只能保留兩位,系統(tǒng)將自動截斷");part[1] = part[1].substr(0, 2)}for (i = 0; i < part[1].length; i++) {tmpnewchar = ""perchar = part[1].charAt(i)switch (perchar) {case "0":tmpnewchar = "零" + tmpnewchar;break;case "1":tmpnewchar = "壹" + tmpnewchar;break;case "2":tmpnewchar = "貳" + tmpnewchar;break;case "3":tmpnewchar = "叁" + tmpnewchar;break;case "4":tmpnewchar = "肆" + tmpnewchar;break;case "5":tmpnewchar = "伍" + tmpnewchar;break;case "6":tmpnewchar = "陸" + tmpnewchar;break;case "7":tmpnewchar = "柒" + tmpnewchar;break;case "8":tmpnewchar = "捌" + tmpnewchar;break;case "9":tmpnewchar = "玖" + tmpnewchar;break;}if (i == 0) tmpnewchar = tmpnewchar + "角";if (i == 1) tmpnewchar = tmpnewchar + "分";newchar = newchar + tmpnewchar;}}//替換所有無用漢字while (newchar.search("零零") != -1)newchar = newchar.replace("零零", "零");newchar = newchar.replace("零億", "億");newchar = newchar.replace("億萬", "億");newchar = newchar.replace("零萬", "萬");newchar = newchar.replace("零元", "元");newchar = newchar.replace("零角", "");newchar = newchar.replace("零分", "");if (newchar.charAt(newchar.length - 1) == "元") {newchar = newchar + "整"}return newchar; }

42. 判斷一個元素是否在數(shù)組中

export const contains = (arr, val) => {return arr.indexOf(val) != -1 ? true : false; }

43. each 方法

export const each = (arr, fn) => {fn = fn || Function;var a = [];var args = Array.prototype.slice.call(arguments, 1);for (var i = 0; i < arr.length; i++) {var res = fn.apply(arr, [arr[i], i].concat(args));if (res != null) a.push(res);} }

44. map 方法

export const map = (arr, fn, thisObj) => {var scope = thisObj || window;var a = [];for (var i = 0, j = arr.length; i < j; ++i) {var res = fn.call(scope, arr[i], i, this);if (res != null) a.push(res);}return a; }

45. 數(shù)組排序

{type} 1:從小到大; 2:從大到小; 3:隨機

export const sort = (arr, type = 1) => {return arr.sort((a, b) => {switch (type) {case 1:return a - b;case 2:return b - a;case 3:return Math.random() - 0.5;default:return arr;}}) }

46. 去重

export const unique = (arr) => {if (Array.hasOwnProperty('from')) {return Array.from(new Set(arr));} else {var n = {}, r = [];for (var i = 0; i < arr.length; i++) {if (!n[arr[i]]) {n[arr[i]] = true;r.push(arr[i]);}}return r;} }

47. 求兩個集合的并集

export const union = (a, b) => {var newArr = a.concat(b);return this.unique(newArr); }

48. 求兩個集合的交集

export const intersect = (a, b) => {var _this = this;a = this.unique(a);return this.map(a, function (o) {return _this.contains(b, o) ? o : null;}); }

49. 刪除其中一個元素

export const remove = (arr, ele) => {var index = arr.indexOf(ele);if (index > -1) {arr.splice(index, 1);}return arr; }

50. 將類數(shù)組轉換為數(shù)組的方法

export const formArray = (ary) => {var arr = [];if (Array.isArray(ary)) {arr = ary;} else {arr = Array.prototype.slice.call(ary);};return arr; }

51. 最大值

export const max = (arr) => {return Math.max.apply(null, arr); }

52. 最小值

export const min = (arr) => {return Math.min.apply(null, arr); }

53. 求和

export const sum = (arr) => {return arr.reduce((pre, cur) => {return pre + cur}) }

54. 平均值

export const average = (arr) => {return this.sum(arr) / arr.length }

55. 去除空格

type: 1-所有空格 2-前后空格 3-前空格 4-后空格

export const trim = (str, type) => {type = type || 1switch (type) {case 1:return str.replace(/\s+/g, "");case 2:return str.replace(/(^\s*)|(\s*$)/g, "");case 3:return str.replace(/(^\s*)/g, "");case 4:return str.replace(/(\s*$)/g, "");default:return str;} }

56. 字符轉換

type: 1:首字母大寫 2:首字母小寫 3:大小寫轉換 4:全部大寫 5:全部小寫

export const changeCase = (str, type) => {type = type || 4switch (type) {case 1:return str.replace(/\b\w+\b/g, function (word) {return word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase();});case 2:return str.replace(/\b\w+\b/g, function (word) {return word.substring(0, 1).toLowerCase() + word.substring(1).toUpperCase();});case 3:return str.split('').map(function (word) {if (/[a-z]/.test(word)) {return word.toUpperCase();} else {return word.toLowerCase()}}).join('')case 4:return str.toUpperCase();case 5:return str.toLowerCase();default:return str;} }

57. 檢測密碼強度

export const checkPwd = (str) => {var Lv = 0;if (str.length < 6) {return Lv}if (/[0-9]/.test(str)) {Lv++}if (/[a-z]/.test(str)) {Lv++}if (/[A-Z]/.test(str)) {Lv++}if (/[\.|-|_]/.test(str)) {Lv++}return Lv; }

58. 函數(shù)節(jié)流器

fn 需要執(zhí)行的函數(shù);time 時間戳;interval 間隔時間

export const debouncer = (fn, time, interval = 200) => {if (time - (window.debounceTimestamp || 0) > interval) {fn && fn();window.debounceTimestamp = time;} }

59. 在字符串中插入新字符串

soure 源字符;index 插入字符的位置;newStr 需要插入的字符;

返回值:返回新生成的字符

export const insertStr = (soure, index, newStr) => {var str = soure.slice(0, index) + newStr + soure.slice(index);return str; }

60. 判斷兩個對象是否鍵值相同

a 第一個對象; b 第二個對象。相同返回true,否則返回false

export const isObjectEqual = (a, b) => {var aProps = Object.getOwnPropertyNames(a);var bProps = Object.getOwnPropertyNames(b);if (aProps.length !== bProps.length) {return false;}for (var i = 0; i < aProps.length; i++) {var propName = aProps[i];if (a[propName] !== b[propName]) {return false;}}return true; }

61. 16進制顏色轉RGB\RGBA字符串

val 16進制顏色值; opa 不透明度,取值0~1;

返回值:轉換后的RGB或RGBA顏色值

export const colorToRGB = (val, opa) => {var pattern = /^(#?)[a-fA-F0-9]{6}$/; //16進制顏色值校驗規(guī)則var isOpa = typeof opa == 'number'; //判斷是否有設置不透明度if (!pattern.test(val)) { //如果值不符合規(guī)則返回空字符return '';}var v = val.replace(/#/, ''); //如果有#號先去除#號var rgbArr = [];var rgbStr = '';for (var i = 0; i < 3; i++) {var item = v.substring(i * 2, i * 2 + 2);var num = parseInt(item, 16);rgbArr.push(num);}rgbStr = rgbArr.join();rgbStr = 'rgb' + (isOpa ? 'a' : '') + '(' + rgbStr + (isOpa ? ',' + opa : '') + ')';return rgbStr; }

62. 追加url參數(shù)

url:url參數(shù);key:名字或者對象;value:值;返回新的url

用法示例:

appendQuery('lechebang.com', 'id', 3); appendQuery('lechebang.com?key=value', { cityId: 2, cityName: '北京'}); export const appendQuery = (url, key, value) => {var options = key;if (typeof options == 'string') {options = {};options[key] = value;}options = $.param(options);if (url.includes('?')) {url += '&' + options} else {url += '?' + options}return url; }

63. 判斷 a 數(shù)組是否包含 b 數(shù)組中

export const getArrRepeat = (arr1,arr2) =>{return arr1.filter((item,index) =>{return arr2.includes(item)}) }

64. 將數(shù)組分片

例子:[1,2,3,4,5,6,7,8] [[1,2,3],[4,5,6],[7,8]]

export const arrChunk = (data=[],space=5) => {var result = [];for (var i = 0, len = data.length; i < len; i += space) {result.push(data.slice(i, i + space));}return {data:result,total:data.length,space}; }

65. 復制內(nèi)容

export const copyToClip = (content) => {var aux = document.createElement("input");aux.setAttribute("value", content);document.body.appendChild(aux);aux.select();document.execCommand("copy");document.body.removeChild(aux);console.log('復制成功'); }

66. 生成UUID

export const generateUUID = () => {let d = new Date().getTime();let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {let r = (d + Math.random() * 16) % 16 | 0;d = Math.floor(d / 16);return (c == 'x' ? r : (r & 0x7 | 0x8)).toString(16);});return uuid; }

總結

以上是生活随笔為你收集整理的JS前端常用工具方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

亚洲国产网站 | 九九九在线观看视频 | 夜夜操天天 | 国内精品久久久久久久97牛牛 | 中文字幕在线观看完整版电影 | 91精品成人久久 | 中文字幕专区高清在线观看 | 中字幕视频在线永久在线观看免费 | 成人精品一区二区三区电影免费 | 国产精品久久久久久久免费观看 | 五月天激情视频在线观看 | 久久久精品视频网站 | 成人av电影免费在线观看 | 久久精品一区二区国产 | 国产剧情在线一区 | 欧美成年黄网站色视频 | 久久国际影院 | 九热精品 | 欧美精品在线观看一区 | 激情五月伊人 | 4438全国亚洲精品在线观看视频 | av电影不卡 | 中文字幕av最新 | 亚洲成av人片在线观看香蕉 | 婷婷丁香六月 | 91大片网站 | 国产精品观看在线亚洲人成网 | 久久不卡日韩美女 | 国产欧美综合在线观看 | 久久久久在线视频 | 亚洲精品久久视频 | 丁香影院在线 | 国产亚洲精品美女 | 久久久国产精品成人免费 | 久久精品成人欧美大片古装 | 黄色小网站在线 | 91精品国产乱码久久桃 | 天天添夜夜操 | 久艹视频在线免费观看 | 最近高清中文字幕 | 天天操天天射天天爽 | 亚洲黄色小说网 | 一区二区三区电影在线播 | 国产xvideos免费视频播放 | 色偷偷网站视频 | 中文字幕在线观看完整版 | 久久www免费人成看片高清 | 久久99在线视频 | 在线免费黄色av | 亚洲国产三级在线 | 成人免费视频免费观看 | 99精品免费久久久久久日本 | 黄色av成人在线 | 成人在线播放av | 精品在线观看一区二区三区 | 九九视频免费观看视频精品 | 九九在线高清精品视频 | 男女激情网址 | 亚州日韩中文字幕 | 91精品婷婷国产综合久久蝌蚪 | 精品久久久久久亚洲 | 97国产精品亚洲精品 | 精品国产一区二区三区久久久久久 | 日本中文字幕视频 | 亚洲视频播放 | 你操综合 | 在线免费观看国产视频 | 日韩av中文字幕在线免费观看 | 国产精品9999久久久久仙踪林 | 国产成人精品一区二区在线 | 国产精品18久久久 | 国产伦精品一区二区三区… | 黄色小说视频在线 | 99精品视频在线观看播放 | 精品国产一区二区三区不卡 | 日韩在线观看网站 | 在线观看中文字幕一区二区 | 丁香亚洲 | 国产女人40精品一区毛片视频 | 欧美在线a视频 | 亚洲三级精品 | 91视频久久| 久久久久美女 | 亚洲精品国产日韩 | 日本精品一区二区三区在线播放视频 | 亚洲性xxxx | 九色91视频 | 日韩在线观看第一页 | 在线免费观看的av | 中文在线√天堂 | 久久激情婷婷 | 97免费在线观看视频 | 久草视频观看 | 欧美91精品 | 亚洲成人xxx | 在线观看国产区 | 久久av网 | 一区二区三区中文字幕在线 | 丁香六月婷婷综合 | 天天色成人| 日本xxxx裸体xxxx17 | 精品在线视频播放 | 久久久亚洲电影 | 国产1区在线观看 | 精品一区二区久久久久久久网站 | 免费福利小视频 | 欧洲一区二区三区精品 | 久久精品导航 | 激情五月婷婷激情 | 成人免费观看完整版电影 | 精品国产人成亚洲区 | 国产黄大片在线观看 | 青青草国产精品视频 | 亚洲成人精品 | 最近中文字幕第一页 | 国产69精品久久99不卡的观看体验 | 黄色特一级片 | 免费网站观看www在线观看 | 国产精品黄色影片导航在线观看 | 国产一区在线看 | 国产精品青草综合久久久久99 | 中文字幕一区二区三区四区在线视频 | 国产玖玖在线 | 欧美日韩一区久久 | 久久久久久久99 | 奇米影视999 | 国产精品18久久久久久久网站 | 91污视频在线 | 99精品在线观看视频 | 日韩欧美xxx | 成人国产精品入口 | 欧亚日韩精品一区二区在线 | 福利区在线观看 | 亚洲丝袜一区二区 | 狠狠久久婷婷 | 超薄丝袜一二三区 | 日日干干 | 国产99久久久国产 | 99久久精品国 | 亚洲dvd | 国产精品久久久久久久婷婷 | 午夜精品久久久久久久99无限制 | 黄色网www| 国产又粗又猛又色又黄网站 | 97人人视频 | 91超级碰| 日本aaa在线观看 | av网在线观看| 欧美一级久久 | 91av电影在线 | h视频在线看 | 成人一级 | 狠狠色免费 | 99热播精品 | 日韩中文字幕免费电影 | 久久久久久久久国产 | 国产精品一区二区无线 | 综合激情网 | 久久久久欠精品国产毛片国产毛生 | 久艹在线播放 | 久久成人综合视频 | 伊人射| 久久久国产精品视频 | 九九免费在线观看 | 免费在线观看av不卡 | 日本婷婷色 | 日韩精品一二三 | 精品国产_亚洲人成在线 | 91视频在线免费下载 | 久草国产在线 | 亚洲综合小说 | 日韩精品久久一区二区 | 国产一级a毛片视频爆浆 | 成人毛片100免费观看 | 亚洲欧美国内爽妇网 | 欧美大片www | 中文字幕免费久久 | 一二三四精品 | 久二影院 | 视频在线观看入口黄最新永久免费国产 | 日日草天天干 | 欧美日韩在线观看不卡 | 99久久精品免费看国产一区二区三区 | av日韩在线网站 | 99精品黄色| 久久久国产一区 | 69人人 | 日韩精品在线一区 | 成人av教育| 99久久电影 | 久久高清片 | 黄色av免费在线 | 久久精品中文视频 | 国产精品成人a免费观看 | 久草视频中文 | 国产91对白在线 | 日日狠狠| 欧美日韩国产二区三区 | 2022久久国产露脸精品国产 | 久久久精品欧美一区二区免费 | 日韩精选在线 | 六月丁香婷婷久久 | 精品国产网址 | 在线一二区 | 国产小视频在线播放 | 亚洲一区不卡视频 | 日韩激情片在线观看 | 久草爱 | 激情xxxx | 日韩高清在线一区 | 有没有在线观看av | 亚洲一级黄色大片 | 免费av在| a'aaa级片在线观看 | 在线观看精品一区 | 丁香六月婷 | 激情www | 久久免费播放 | 2019中文在线观看 | 久久成人一区 | 五月婷婷色丁香 | 国产精品夜夜夜一区二区三区尤 | 亚洲国产中文字幕在线视频综合 | 精品国产乱码久久久久久1区二区 | 日韩中文字幕免费在线观看 | 福利久久久| 免费麻豆网站 | 2019中文字幕第一页 | 日日干,天天干 | 91丨九色丨蝌蚪丨对白 | 欧美一区二区三区四区夜夜大片 | 国产精品黄色av | 久久婷婷色综合 | 日韩久久久久久久久久 | 久久国产经典视频 | 成人a在线观看高清电影 | 国产九九九精品视频 | av中文字幕第一页 | 狠狠狠狠狠狠狠 | 99精品在线播放 | 久久福利小视频 | 国产美女无遮挡永久免费 | 久久艹人人 | 最新亚洲视频 | 国产又粗又猛又黄视频 | 国产无套一区二区三区久久 | 国产精品免费观看网站 | 伊人热| 国产一区播放 | 亚洲精品久久久久999中文字幕 | 91丨九色丨蝌蚪丰满 | 最近最新中文字幕 | 国产精品一区二区吃奶在线观看 | 日韩电影中文字幕在线观看 | 免费高清影视 | 中文字幕色播 | 91高清免费 | 青青草视频精品 | 成年人黄色在线观看 | 2023av| 婷婷在线观看视频 | 国产五月色婷婷六月丁香视频 | 国产免费观看视频 | 中文成人字幕 | 亚洲成人欧美 | 在线免费视频你懂的 | 国产麻豆精品久久 | 色综合在 | 激情狠狠干 | 毛片网站在线观看 | 天天干天天天 | 国产精品久久久久久吹潮天美传媒 | 在线a视频免费观看 | 日本在线中文在线 | 国产成人a亚洲精品 | 黄污网 | 国产精品一区二区久久 | 国产盗摄精品一区二区 | 国产亚洲精品综合一区91 | 天堂av在线中文在线 | 人人看人人做人人澡 | 国产九九精品视频 | 国产免费亚洲高清 | 黄色在线观看免费 | www日韩在线观看 | 久久a久久 | 欧美午夜一区二区福利视频 | 久草在线一免费新视频 | 中文字幕一区二区三区乱码在线 | a级片网站 | 欧美aⅴ在线观看 | 天天干天天干天天操 | 97视频资源| 日日夜夜添 | 一本一本久久a久久精品综合 | 国产福利免费看 | 91精品国产99久久久久久红楼 | 草久视频在线观看 | 日本久久中文字幕 | 国产精品二区在线观看 | 欧美精品在线视频 | 久草影视在线 | 国产探花视频在线播放 | 国产亚洲精品久久久久秋 | 亚洲国产成人在线播放 | 天天操导航 | 成人小视频在线播放 | www.亚洲在线 | 懂色av一区二区在线播放 | 成人av免费网站 | 在线视频a | 国产精品理论片 | 中文字幕av最新 | 久热爱 | 久久婷五月 | 在线视频黄 | 天天激情天天干 | 天天透天天插 | 激情影音 | 在线视频第一页 | 日韩理论电影网 | 久久综合狠狠综合久久狠狠色综合 | 成年人在线播放视频 | 91久久国产露脸精品国产闺蜜 | 亚洲婷婷丁香 | 日本精品视频在线观看 | 精品一区 精品二区 | 伊人婷婷久久 | 亚洲精品99久久久久中文字幕 | 国产高清日韩欧美 | 欧美精品一区二区三区四区在线 | 夜夜操狠狠操 | 在线视频一二区 | 伊人电影在线观看 | 麻豆传媒电影在线观看 | 91亚洲影院 | 国产精品国产三级国产不产一地 | 中文字幕一区二区三区四区 | 成年人在线播放视频 | 999久久久免费精品国产 | 视频在线观看国产 | 91在线精品观看 | 最新不卡av | 日韩久久精品一区二区 | 亚洲欧美乱综合图片区小说区 | 中文字幕国内精品 | 国内精品久久久久影院优 | 免费亚洲视频在线观看 | 久久免费播放视频 | 男女男视频 | 久久久久99精品国产片 | 中文字幕在线字幕中文 | 国产精品自拍在线 | 国产精品国产三级国产不产一地 | av在线免费网站 | 97av精品| 国产精品免费在线播放 | 全久久久久久久久久久电影 | 丁香六月综合网 | 国产欧美精品一区二区三区四区 | 日韩网页 | 亚洲国产成人精品电影在线观看 | 在线免费av网站 | 91麻豆国产| 久久综合久久综合这里只有精品 | 91成人亚洲 | 欧美日韩一级久久久久久免费看 | 91精品国自产在线偷拍蜜桃 | 福利久久| 亚洲在线精品视频 | 亚洲最大免费成人网 | av一级黄| 天天操天天操天天干 | 天天干天天操天天射 | 国产精品久久99综合免费观看尤物 | 香蕉视频在线视频 | 91亚色视频在线观看 | 99在线视频观看 | 日日操日日插 | 国产一区在线播放 | 91香蕉视频 mp4 | 亚洲国产日韩欧美 | 国产一级视频免费看 | 国产999精品 | 日本精品久久久久影院 | 国产又粗又猛又爽 | 久久国产高清视频 | 色播99 | 中文av网站 | 色姑娘综合天天 | 成人久久久精品国产乱码一区二区 | 日韩电影中文字幕在线 | 国产精品18毛片一区二区 | 国产亚洲精品久久久久久 | 最近高清中文字幕在线国语5 | 久久综合九色综合久久久精品综合 | 欧美成年网站 | 中文字幕在线观看1 | 在线观看亚洲精品视频 | 四虎影视久久久 | 国产一区在线视频播放 | 国产精品九九九 | 丁香激情五月婷婷 | 中文字幕一区在线观看视频 | 国产亚洲精品久久网站 | 国产美女网站在线观看 | 欧美一区二区在线免费看 | 99这里有精品| 一区二区电影在线观看 | 日韩高清成人在线 | 91色九色 | 黄网站免费大全入口 | 久久久久久欧美二区电影网 | 欧美久久九九 | av在线8 | 久久狠狠一本精品综合网 | 五月婷婷激情综合 | 最近日本韩国中文字幕 | 在线免费av网 | 在线播放视频一区 | 日本护士三级少妇三级999 | 日韩av在线免费播放 | 在线观看色网 | 最近的中文字幕大全免费版 | 人人干免费 | 97超碰成人 | 久久久久www | 97视频在线播放 | 天天色天天射天天综合网 | 国产精品一区二区中文字幕 | av手机在线播放 | 日韩av影视在线观看 | 精品国产aⅴ麻豆 | 色鬼综合网| 亚洲精品小视频在线观看 | 国产1级毛片| 国产一级黄 | 日本天天色 | 久久99精品热在线观看 | 日韩激情视频在线观看 | 国产香蕉视频在线播放 | 日韩在线第一区 | 天天色天天操综合 | 亚洲欧美国产精品18p | 成人在线视频论坛 | 日韩欧美一区二区三区在线观看 | 免费亚洲成人 | 九九综合在线 | 久久精品视频在线播放 | 国产一级片免费观看 | 黄色一级大片在线免费看产 | 国产精品久久久久久吹潮天美传媒 | 国产亚州精品视频 | 国产 字幕 制服 中文 在线 | 日本精品视频在线播放 | 四虎在线观看精品视频 | 亚洲国内精品在线 | 天天碰天天操视频 | 免费高清男女打扑克视频 | 日韩免费电影在线观看 | 超碰夜夜 | 天天色天 | 国产成人一区二区三区在线观看 | 黄色一级性片 | 成人一级影视 | av性网站 | 国产一级视屏 | 色久天 | 久久久久久久久久网 | 99热99热 | 亚洲精品黄色在线观看 | 午夜精品久久久久久久爽 | 黄色视屏在线免费观看 | 狠狠色丁香婷婷综合欧美 | 亚洲一区免费在线 | 不卡在线一区 | 久久久久久影视 | a级国产片 | 久草在线中文888 | 午夜久久福利视频 | 最新国产在线 | 视频一区二区免费 | 在线播放 亚洲 | 视频在线国产 | 黄色一集片 | 在线观看日韩中文字幕 | 亚洲精品视频一二三 | 日韩视频一区二区 | 国产亚洲视频中文字幕视频 | 四虎成人av| 日本系列中文字幕 | 又长又大又黑又粗欧美 | 日日日视频 | 日韩av电影中文字幕在线观看 | 色天堂在线视频 | 激情丁香综合五月 | 96亚洲精品久久久蜜桃 | 成人观看视频 | 8x成人免费视频 | 五月婷婷中文网 | 婷婷丁香自拍 | 久久av在线播放 | 久久免费观看少妇a级毛片 久久久久成人免费 | av电影免费在线播放 | 中文国产字幕在线观看 | 色综合久久久久久中文网 | 超碰伊人网 | www.超碰| 一本一本久久a久久精品综合妖精 | 永久免费的av电影 | 国内三级在线 | 欧美资源在线观看 | 久久久久久久久久久久电影 | 五月激情天| 欧美精品一区二区三区一线天视频 | 久久天天躁狠狠躁亚洲综合公司 | 国产精品久久久久毛片大屁完整版 | 国产午夜麻豆影院在线观看 | 欧美日韩18 | 91在线视频网址 | 在线 视频 一区二区 | 日韩高清一二三区 | 91mv.cool在线观看 | 日日日天天天 | 少妇bbw揉bbb欧美 | av在观看 | 4438全国亚洲精品观看视频 | 亚洲国产电影在线观看 | 日韩在线观看一区二区 | 丁香婷婷激情五月 | 欧美男女爱爱视频 | 色噜噜在线观看 | 玖玖玖在线| 国产精品一区二区美女视频免费看 | 欧美日韩在线观看一区 | 91丨九色丨丝袜 | 成人影音在线 | 成人午夜久久 | 日本久久免费电影 | 日韩xxxbbb| 久久99久久久久久 | 天天射天天干天天爽 | 黄色福利视频网站 | 中文字幕一区二 | 中文不卡视频在线 | 天天激情站 | 国产美女视频一区 | 手机看片国产日韩 | 91成人在线观看高潮 | 亚洲香蕉视频 | 亚洲国产视频网站 | a天堂免费| 精品天堂av | 人人爽人人爽人人 | 青青看片 | av在线播放国产 | 九九久久影视 | 日本二区三区在线 | 成人精品久久久 | 丁香视频五月 | 五月婷婷开心中文字幕 | 一区二区三区在线看 | av短片在线 | 成年人免费看的视频 | 亚洲电影院 | 在线 欧美 日韩 | 三级av中文字幕 | 精品久久久久久综合 | 特及黄色片 | 91重口视频 | 国产三级久久久 | 日日爱av | 99久久日韩精品免费热麻豆美女 | 麻豆视频在线观看免费 | 99精品在线免费视频 | 九九九九九国产 | 午夜少妇一区二区三区 | 日韩毛片精品 | 草在线视频 | 欧美激情一区不卡 | 不卡的av| 天天天色 | 开心激情网五月天 | 国产精品福利一区 | 91在线区 | 日本黄色免费电影网站 | 亚洲精品国产成人av在线 | 国产免费高清视频 | 国产高清久久久 | 深夜免费福利在线 | .国产精品成人自产拍在线观看6 | 日韩高清不卡一区二区三区 | 正在播放一区 | 国产又黄又猛又粗 | av黄在线播放 | 免费看一级 | 国产中文字幕在线观看 | 在线三级av | 天天夜夜操 | a爱爱视频 | 国产一级不卡视频 | 日韩久久精品一区二区三区下载 | 国产成人精品a | 九九久久精品 | 久久99久久99久久 | 精品一区精品二区 | 国产福利av在线 | 欧美日韩国产精品一区二区三区 | 国产三级午夜理伦三级 | 国产视频综合在线 | 成人a在线观看高清电影 | 在线观看激情av | 天天操天天射天天添 | 久久综合精品国产一区二区三区 | 国产精品久久久久久久99 | 亚洲精品乱码久久久久久 | 在线观看日韩精品视频 | 一区二区男女 | 欧美成a人片在线观看久 | 久久久久久久久免费视频 | 久久国产片| 在线观看日韩免费视频 | 成人av一区二区兰花在线播放 | 蜜臀av免费一区二区三区 | 色亚洲激情| av九九九 | 亚洲精品玖玖玖av在线看 | 激情综合色综合久久综合 | 天天射天天射天天 | 天天操天天摸天天干 | 欧美日韩一区二区视频在线观看 | 免费av在 | 97久久久免费福利网址 | 天天操天天透 | 色多多污污在线观看 | 久久免费视频在线观看 | 99免费在线播放99久久免费 | 亚洲做受高潮欧美裸体 | 天天操夜夜爱 | 麻豆视频一区二区 | 日韩视频免费观看高清完整版在线 | 99精品免费久久久久久久久日本 | 国产一区在线免费 | 日韩精品不卡在线观看 | 九九精品久久 | 人人人爽 | www.久久久.com | 日韩特级片 | 九九免费在线视频 | 久久精品免费 | 在线欧美国产 | 天天插天天狠天天透 | 欧美日韩精品二区第二页 | 亚洲精品国产片 | 成年人在线观看网站 | 久久精品这里都是精品 | 日韩久久久久久久 | 天天se天天cao天天干 | 中文字幕乱码日本亚洲一区二区 | 天天天天天干 | 成人一级在线 | 国产精品久久在线观看 | 91理论片午午伦夜理片久久 | 91禁在线观看 | 国产精品久久久久久久久久白浆 | 精品a在线 | 国产在线播放一区二区 | 久色 网 | av综合在线观看 | 91禁看片| 久久精品视频中文字幕 | 国产91精品在线播放 | 91九色国产蝌蚪 | 久草资源在线 | 黄色日本片 | 成人午夜电影久久影院 | 国产亚洲精品久 | 91高清不卡 | 国产黄色免费看 | 国产成人久久精品一区二区三区 | 日韩欧美在线综合网 | 久久综合久久综合这里只有精品 | 免费在线国产精品 | 成人免费观看完整版电影 | 成人av动漫在线观看 | 国产精品一区二区三区免费看 | 免费精品在线观看 | 精品久久久999 | 亚洲人成在线观看 | 久久激情综合网 | 97国产精品亚洲精品 | 在线 欧美 日韩 | 日韩久久精品一区二区三区下载 | 久久中文精品视频 | 国产一二三四在线观看视频 | 日韩精品久久久久久久电影99爱 | 亚洲精品久久久久中文字幕m男 | 亚洲欧美日韩精品久久久 | 在线婷婷| 人人爱爱人人 | 久久免费公开视频 | 成人av片免费看 | 日本乱码在线 | 天天色天天搞 | 日韩免费视频播放 | 91在线中文字幕 | 日韩av免费在线看 | 99在线视频精品 | 日本成址在线观看 | 国语黄色片 | 国产网红在线观看 | 黄色软件在线观看免费 | 美腿丝袜一区二区三区 | 国产综合激情 | 国产18精品乱码免费看 | 91在线免费看片 | 伊人影院99 | 国产精品影音先锋 | 久久久亚洲精品 | 国产精品18videosex性欧美 | 免费福利在线观看 | 不卡的av在线播放 | 久久精品亚洲一区二区三区观看模式 | 久久国产一区二区三区 | 午夜三级毛片 | 99热在线免费观看 | 99热99| 99热99热| 美女黄久久| 97操操 | 久久国产精品久久国产精品 | 在线观看的av | 欧美日韩免费视频 | 欧美成人精品三级在线观看播放 | 国产精品黄色影片导航在线观看 | 欧美日韩在线视频观看 | 免费日韩一区 | 超碰日韩在线 | 精品视频中文字幕 | 国产麻豆精品在线观看 | 日韩av片免费在线观看 | 国产成人一区二区在线观看 | 久久久久国产精品厨房 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 成人亚洲综合 | 国产永久免费观看 | a资源在线 | 国产精品视频在线观看 | 日韩精品视频免费专区在线播放 | 91免费国产在线观看 | 日韩激情视频 | 欧美日韩一区二区免费在线观看 | 亚洲激情一区二区三区 | 爱色婷婷| 日韩视频在线播放 | 黄色成人av | 青青五月天| 久久精品麻豆 | 一本到视频在线观看 | 亚洲 欧美 变态 国产 另类 | 最近免费中文视频 | 免费男女羞羞的视频网站中文字幕 | 午夜精品久久久久久久久久久久久久 | 久久精品成人欧美大片古装 | 天堂在线成人 | 国产精品一区二区你懂的 | 深夜免费网站 | 久久综合婷婷国产二区高清 | 亚洲精品男人天堂 | 亚洲综合视频网 | 免费视频99| 亚洲综合导航 | 黄色三级在线 | 97视频在线| 最近最新最好看中文视频 | 欧美 日韩 成人 | 免费在线播放黄色 | 99久久综合国产精品二区 | 在线你懂的视频 | 国产又粗又猛又黄又爽 | 精品视频免费播放 | 久久久久久免费 | 国内丰满少妇猛烈精品播放 | 国产高清福利在线 | 97超碰在线视 | 久久久久久久久久久久99 | 国产成人av片 | 2019天天干夜夜操 | 97品白浆高清久久久久久 | 色婷婷丁香| 国产黄免费在线观看 | 黄色软件网站在线观看 | www.香蕉 | 天天操操操操操 | 特级西西444www大精品视频免费看 | 精品不卡av | 国产99久久久精品视频 | 国产99久久久国产精品免费二区 | 在线a亚洲视频播放在线观看 | 久久精品视频在线观看 | av高清在线观看 | 成人国产网址 | 51久久成人国产精品麻豆 | 天堂av免费看 | 香蕉在线视频播放网站 | 久久久久久久久久久久99 | 国产亚洲精品久久久久久无几年桃 | 日韩高清久久 | 91一区一区三区 | 中文字幕在线免费看线人 | 日韩视频一区二区在线观看 | 深夜激情影院 | 337p日本大胆噜噜噜噜 | 91精品婷婷国产综合久久蝌蚪 | 日本不卡视频 | bbb搡bbb爽爽爽 | 狠狠狠色丁香综合久久天下网 | 国产精品男女啪啪 | 亚洲理论片 | 免费看的黄色小视频 | 国产在线一区观看 | 91香蕉视频在线 | 成人一区二区三区在线 | 高清不卡毛片 | 一本一道波多野毛片中文在线 | 国产免费美女 | adn—256中文在线观看 | 色婷婷福利 | 中文字幕色婷婷在线视频 | 国产91九色蝌蚪 | 国产一区免费视频 | 手机色在线| 在线观看免费观看在线91 | 高清不卡免费视频 | 国产专区精品 | 国产精品一区在线播放 | 69国产盗摄一区二区三区五区 | 日韩精品一区二区三区免费观看 | 免费观看全黄做爰大片国产 | 国产分类视频 | 国产成人一区二区三区影院在线 | 亚洲人人爱 | 国内三级在线观看 | 黄色亚洲大片免费在线观看 | 亚洲最大成人免费网站 | 91超碰免费在线 | 国产午夜亚洲精品 | 九九九九九九精品任你躁 | 中文字幕日韩国产 | 国产日韩精品一区二区三区 | 国产精品福利在线播放 | 四虎海外影库www4hu | 亚洲欧美视频在线观看 | 99热在线观看免费 | 久香蕉| 久久69精品 | 日韩在线免费视频 | 亚洲成a人片在线www | 国产精品久久电影观看 | 激情深爱 | 国产精品免费一区二区 | 亚洲最新av | 91av免费看 | 欧美国产一区二区 | 国产裸体视频bbbbb | 免费a视频在线 | 成人香蕉视频 | 欧美 另类 交 | 免费在线精品视频 | av福利第一导航 | 成人av在线网 | 91在线亚洲 | 国产精品高清在线观看 | 久草97| 日韩精品免费专区 | 国产99在线免费 | 午夜视频在线观看一区二区三区 | 亚洲国产精品日韩 | 日本久久久久久科技有限公司 | 黄色精品久久 | 亚洲一区在线看 | 色多多视频在线观看 | 欧美日韩精品在线观看视频 | 久久久综合九色合综国产精品 | 亚洲福利精品 | 毛片一区二区 | 99re亚洲国产精品 | 国产 日韩 欧美 自拍 | 91九色综合| 五月婷婷香蕉 | 成人精品久久 | 亚洲国产精品激情在线观看 | 国产一级二级三级在线观看 | 国产精品久久久久久久久久久免费 | 亚洲va欧美| 久久免费观看少妇a级毛片 久久久久成人免费 | 五月婷婷操 | 欧美乱淫视频 | 国产精品久久在线 | 成人h在线观看 | 国产无套精品久久久久久 | 国产免费亚洲高清 | 亚洲一区二区精品3399 | 亚洲自拍自偷 | 欧美国产在线看 | 四虎成人精品永久免费av | 在线免费观看涩涩 | 国产精品激情偷乱一区二区∴ | 国产精品欧美激情在线观看 | 欧美大片在线观看一区 | 超碰97人人射妻 | 精品国产一区二区三区噜噜噜 | 人人爱人人爽 | 亚洲精品综合欧美二区变态 | 久久欧美视频 | 国产婷婷色 | 久久久香蕉视频 | 精品久久久久久久久亚洲 | 国产馆在线播放 | 亚洲最大在线视频 | 亚洲人精品午夜 | 国产精品免费人成网站 | 91精品999| 欧美不卡在线 | 碰超人人 | 色狠狠久久av五月综合 | 激情综合色综合久久综合 | 亚洲精品乱码久久久久 | av动态图片 | 蜜臀久久99静品久久久久久 | 久久久九色精品国产一区二区三区 | 日韩国产精品久久 | 黄av在线 | 在线综合色 | 国产一级视频 | 永久免费毛片在线观看 | 日韩免费看片 | 国产精品午夜8888 | 中文字幕在线观看第三页 | 亚洲 欧美 成人 | 九七人人干 | 中文字幕一区二区三 | 狠狠色丁香婷婷综合视频 | 免费观看www7722午夜电影 | 最新极品jizzhd欧美 | 国产婷婷精品 | 日本深夜福利视频 | 日韩动漫免费观看高清完整版在线观看 | 美女视频黄色免费 | 久久久久福利视频 | 91精品91 | 国产一区二区在线精品 | 中文字幕 国产 一区 | 国产精品午夜久久久久久99热 | 最近的中文字幕大全免费版 | 欧美日韩精品在线 | 91污视频在线 | 国产成人久久av免费高清密臂 | 婷婷视频 | 成人免费xxxxxx视频 | 成人午夜影院在线观看 | 国产精品一区二区三区在线免费观看 | 97超碰免费在线观看 | www.日本色| 久久国产精品99久久久久久进口 | 国产精品免费观看网站 | 国产视频网站在线观看 | 国产专区在线播放 | 国产精品久久久久久久久软件 | 色播五月激情五月 | 97精品国自产拍在线观看 | 成人av地址 | 亚洲人人爱 | 综合天天网 | 国产成人精品免费在线观看 | 久久久久免费精品视频 | 色婷婷在线播放 | 中文字幕亚洲在线观看 | 最新国产在线观看 | 国产玖玖精品视频 | 国产在线综合视频 | 国产亚洲精品久久久久久网站 | 99久久精品午夜一区二区小说 | 亚洲精品成人在线 | 成年人在线观看网站 | 色94色欧美| 精品久久片 | av成年人电影 | 亚洲无吗av | 国产精品久久久久亚洲影视 | 国产成人久久精品亚洲 | 久久久在线观看 | 日韩视频1区 | 激情五月在线视频 | 欧美在线视频二区 | 精品国产色 | 精品日本视频 | 337p日本欧洲亚洲大胆裸体艺术 |