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

Javascript正則深入以及十個(gè)非常有意思的正則實(shí)戰(zhàn)

開(kāi)發(fā) 前端
對(duì)于正則的基本用法筆者這里就不總結(jié)了,這里重點(diǎn)介紹一些比較有用且難懂的知識(shí)點(diǎn).在最后筆者會(huì)寫(xiě)10個(gè)經(jīng)典的正則案例, 供大家學(xué)習(xí)參考, 或者在工作中直接使用。

前言

熟悉我的朋友可能會(huì)知道,我一向是不寫(xiě)熱點(diǎn)的。為什么不寫(xiě)呢?是因?yàn)槲也魂P(guān)注熱點(diǎn)嗎?其實(shí)也不是。有些事件我還是很關(guān)注的,也確實(shí)有不少想法和觀點(diǎn)。但我一直奉行一個(gè)原則,就是:要做有生命力的內(nèi)容

對(duì)于前端工程師來(lái)說(shuō), 正則表達(dá)式也許是javascript語(yǔ)言中最晦澀難懂的, 但是也往往是最簡(jiǎn)潔的.工作中遇到的很多問(wèn)題,諸如搜索,查找, 高亮關(guān)鍵字等都可以使用正則輕松解決,所以有句話(huà)說(shuō)的好:

正則用的好, 加班遠(yuǎn)離我.

今天筆者就復(fù)盤(pán)一下javascript正則表達(dá)式的一些使用技巧和高級(jí)API, 并通過(guò)幾個(gè)實(shí)際的案例,來(lái)展現(xiàn)正則表達(dá)式的魅力.如果大家覺(jué)得正則表達(dá)式理解起來(lái)很麻煩,也可以使用如下在線網(wǎng)站, 只需要輸入你的正則表達(dá)式, 它就能以圖形的方式將你的正則展示出來(lái):

圖片圖片

你將收獲

  • 模式匹配的用法(x)
  • 非捕獲括號(hào)的模式匹配(?:x)
  • 先行斷言x(?=y)
  • 后行斷言(?<=y)x
  • 正向否定查找x(?!y)
  • 反向否定查找(?<!y)x
  • 字符集合和反向字符集合的用法[xyz]/[^xyz]
  • 詞邊界和非單詞邊界匹配/b/B
  • 空白字符/非空白字符匹配/s/S
  • 單字字符/非單字字符匹配/w/W
  • 正則10大應(yīng)用案例

正文

對(duì)于正則的基本用法筆者這里就不總結(jié)了,這里重點(diǎn)介紹一些比較有用且難懂的知識(shí)點(diǎn).在最后筆者會(huì)寫(xiě)10個(gè)經(jīng)典的正則案例, 供大家學(xué)習(xí)參考, 或者在工作中直接使用.

圖片圖片

以上幾點(diǎn)應(yīng)用筆者在下文中會(huì)寫(xiě)幾個(gè)例子來(lái)講解.

模式匹配的用法(x)

模式匹配主要用來(lái)匹配某一類(lèi)字符串并記住匹配項(xiàng).

案例:

let str = 'xuxi is xuxi is'
let reg = /(xuxi) (is) \1 \2/g
reg.test(str)  // true    (1)
str.replace(reg, '$1 $2')  // xuxi is  (2)
復(fù)制代碼

解釋: 其中括號(hào)被稱(chēng)為捕獲括號(hào), 模式中的 \1 和 \2 表示第一個(gè)和第二個(gè)被捕獲括號(hào)匹配的子字符串,即 xuxi 和 is,匹配了原字符串中的后兩個(gè)單詞, 因此(1)中運(yùn)行的結(jié)果為true. 當(dāng)我們?cè)谧址惺褂胷eplace時(shí), 我們可以使用$1, $2這樣的方式獲取第n個(gè)匹配項(xiàng),并用來(lái)替換字符串. 如(2)中的運(yùn)行結(jié)果.

非捕獲括號(hào)的模式匹配(?:x)

主要用來(lái)匹配某一類(lèi)字符串但不記住匹配項(xiàng).

案例:

let str = 'xuxixuxi'
let reg = /(?:xuxi){1,2}/g
reg.test(str)  // true    (1)
復(fù)制代碼


圖片圖片

解釋: 其中(?:)被稱(chēng)為非捕獲括號(hào), 我們可以使用它匹配一組字符但是并不記住該字符,一般用來(lái)判斷某類(lèi)字符是否存在于某字符串中.

先行斷言x(?=y)

先行斷言: 匹配'x'僅僅當(dāng)'x'后面跟著'y'.

案例:

let str = '王者融化'
let reg = /王(?=者)/
reg.test(str)  // true    (1)
復(fù)制代碼


圖片

解釋: /王(?=者)/會(huì)匹配到"王"僅當(dāng)它后面跟著"者".但是"者"不屬于匹配結(jié)果的一部分.

后行斷言(?<=y)x

后行斷言: 匹配'x'僅當(dāng)'x'前面是'y'.

案例:

let str = 'xuxiA'
let reg = /(?<=xuxi)A/
reg.test(str)  // true    (1)
復(fù)制代碼

解釋: /(?<=xuxi)A/會(huì)匹配到A僅當(dāng)它前面為xuxi.但是xuxi不屬于匹配結(jié)果的一部分.

正向否定查找x(?!y)

正向否定查找: 僅僅當(dāng)'x'后面不跟著'y'時(shí)匹配'x'.

案例:

let str = '3.1415'
let reg = /\d+(?!\.)/
reg.exec(str)  // [1415]   (1)
復(fù)制代碼

圖片圖片

解釋: 其中/\d+(?!.)/匹配一個(gè)或多個(gè)數(shù)字,當(dāng)且僅當(dāng)它后面沒(méi)有小數(shù)點(diǎn)時(shí), 所以(1)中執(zhí)行后會(huì)匹配到1415而不是3.1415

反向否定查找(?<!y)x

反向否定查找: 僅僅當(dāng)'x'前面不是'y'時(shí)匹配'x'.

案例:

let str = '3.1415'
let reg = /(?<!\.)\d+/
reg.exec(str)  // [3]    (1)
復(fù)制代碼

解釋: /(?<!.)\d+/匹配一個(gè)數(shù)字,當(dāng)且僅當(dāng)前面字符不是.時(shí),此時(shí)將匹配3.

字符集合和反向字符集合的用法 [xyz] / [^xyz]

[xyz]: 一個(gè)字符集合。匹配方括號(hào)中的任意字符,包括轉(zhuǎn)義序列。你可以使用破折號(hào)(-)來(lái)指定一個(gè)字符范圍。

[^xyz]: 一個(gè)反向字符集。也就是說(shuō),它匹配任何沒(méi)有包含在方括號(hào)中的字符。你可以使用破折號(hào)(-)來(lái)指定一個(gè)字符范圍。任何普通字符在這里都是起作用的

案例:

let str = 'abcd'
let reg1 = /[a-c]+/
let reg2 = /[^d]$/
reg1.test(str)  // true    (1)
reg2.test(str)  // false    (2)
復(fù)制代碼

圖片圖片

圖片圖片

解釋: (1)中將返回true因?yàn)樽址邪琣-c中的字符, (2)中獎(jiǎng)返回false, 因?yàn)樽址Y(jié)尾為d, 但正則reg2需要匹配結(jié)尾不為d的字符串.

詞邊界和非單詞邊界匹配\b\B

\b 匹配一個(gè)詞的邊界。一個(gè)詞的邊界就是一個(gè)詞不被另外一個(gè)“字”字符跟隨的位置或者前面跟其他“字”字符的位置,例如在字母和空格之間。注意,匹配中不包括匹配的字邊界。換句話(huà)說(shuō),一個(gè)匹配的詞的邊界的內(nèi)容的長(zhǎng)度是0。

\B 匹配一個(gè)非單詞邊界。匹配如下幾種情況:(1)字符串第一個(gè)字符為非“字”字符 (2)字符串最后一個(gè)字符為非“字”字符 (3)兩個(gè)單詞字符之間 (4)兩個(gè)非單詞字符之間 (5)空字符串

案例:

let str = 'xuxi'
let reg1 = /xi\b/
let reg2 = /xu\B/
reg1.exec(str)  // [xi]    (1)
reg2.exec(str)  // [xu]    (2)
復(fù)制代碼


圖片圖片

圖片圖片

解釋: (1)中匹配到了單詞邊界,即xi, 為該字符串的末尾.(2)中應(yīng)為xu為非單詞邊界,所以會(huì)被其匹配到.

空白字符/非空白字符匹配\s\S

\s: 匹配一個(gè)空白字符,包括空格、制表符、換頁(yè)符和換行符.

\S: 匹配一個(gè)非空白字符

案例:

let str = 'xuxi is'
let reg1 = /.*\s/g
let reg2 = /\S\w*/g
reg1.exec(str)  // [xuxi]    (1)
reg2.exec(str)  // [xuxi]    (2)
復(fù)制代碼

圖片圖片

圖片圖片

解釋: (1)和(2)中執(zhí)行之后都將匹配xuxi, 一個(gè)是空白字符之前的匹配, 一個(gè)是非空白字符的匹配.

單字字符/非單字字符匹配\w/W

\w: 匹配一個(gè)單字字符(字母、數(shù)字或者下劃線)。等價(jià)于 [A-Za-z0-9_]。

\W: 匹配一個(gè)非單字字符。等價(jià)于 [^A-Za-z0-9_]

圖片圖片

圖片圖片

由于以上2種模式比較簡(jiǎn)單,這里就不一一介紹了.

正則10大應(yīng)用案例

接下來(lái)筆者將總結(jié)幾個(gè)使用正則的實(shí)際應(yīng)用,供大家學(xué)習(xí)和參考.

1. 去除字符串內(nèi)指定元素的標(biāo)簽

function trimTag(tagName, htmlStr) {
  let reg = new RegExp(`<${tagName}(\\s.*)*>(\\n|.)*<\\/${tagName}>`, "g")
  return htmlStr.replace(reg, '')
}
復(fù)制代碼

2. 短橫線命名轉(zhuǎn)駝峰命名

// 短橫線轉(zhuǎn)駝峰命名, flag = 0為小駝峰, 1為大駝峰
function toCamelCase(str, flag = 0) {
  if(flag) {
    return str[0].toUpperCase() + str.slice(1).replace(/-(\w)/g, ($0, $1) => $1.toUpperCase())
  }else {
    return str.replace(/-(\w)/g, ($0, $1) => $1.toUpperCase())
  }
}
復(fù)制代碼

3. 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的模板引擎

關(guān)于實(shí)現(xiàn)一個(gè)模板引擎, 實(shí)現(xiàn)中用到了大量的正則,建議感興趣的可以直接看實(shí)現(xiàn)一個(gè)簡(jiǎn)單的模板引擎.

4. 去除字符串中的空格符

function trimAll(str) {
  return str.replace(/\s*/g,"")
}
復(fù)制代碼

5. 判斷指定格式的數(shù)據(jù)輸入合法性

function numCheck(str, specialNum) {
  if(str.indexOf(',') > -1) {
      return str.splite(',').every(item=>this.numCheck(item));
  } else {
      return str.split(specialNum).length === 2;
  }
}
復(fù)制代碼

6. 去除url參數(shù)字符串中值為空的字段

// 去除url參數(shù)字符串中值為空的字段
const trimParmas = (parmaStr:string = '') => {
  return parmaStr.replace(/((\w*?)=&|(&\w*?=)$)/g, '')
}
復(fù)制代碼

7. 將瀏覽器參數(shù)字符串轉(zhuǎn)化為參數(shù)對(duì)象

function unParams(params = '?a=1&b=2&c=3') {
  let obj = {}
  params && params.replace(/((\w*)=([\.a-z0-9A-Z]*)?)?/g, (m,a,b,c) => {
    if(b || c) obj[b] = c
  })
  return obj
}
復(fù)制代碼

8. 計(jì)算字符串字節(jié)數(shù)

/**
 * 計(jì)算字符串字節(jié)數(shù)
 * @param str
 * @desc 一個(gè)中文占2個(gè)字節(jié), 一個(gè)英文占一個(gè)字節(jié)
 */
function computeStringByte(str) {
  let size = 0,
  strArr = str.split(''),
  reg = /[\u4e00-\u9fa5]/   // 判斷是否為中文
  for(let i = strArr.length; i--; i>=0) {
    if(reg.test(strArr[i])) {
      size+= 2
    }else {
      size += 1
    }
  }
  return size
}
復(fù)制代碼

9. 匹配是否包含中文字符

function hasCn(str) {
  let reg = /[\u4e00-\u9fa5]/g
  return reg.test(str)
}
復(fù)制代碼

10. 實(shí)現(xiàn)搜索聯(lián)想功能

function searchLink(keyword) {
  // 模擬后端返回?cái)?shù)據(jù)
  let list = ['abc', 'ab', 'a', 'bcd', 'edf', 'abd'];
  let reg = new RegExp(keyword, 'i');
  return list.filter(item => reg.test(item))
}
復(fù)制代碼


責(zé)任編輯:武曉燕 來(lái)源: 趣談前端
相關(guān)推薦

2023-05-18 08:01:01

前端搜索javascript

2021-11-04 22:27:22

javascript正則API

2022-08-03 08:03:03

前端APIjavascript

2015-07-15 13:54:13

2021-07-26 10:33:54

Web開(kāi)發(fā)項(xiàng)目

2015-10-28 13:57:29

融合架構(gòu)華三UIS

2018-06-24 16:39:28

Tomcat異常線程

2020-12-12 13:50:16

云開(kāi)發(fā)

2021-01-27 13:54:05

開(kāi)發(fā)云原生工具

2022-06-29 09:43:14

SQL優(yōu)化數(shù)據(jù)庫(kù)

2021-03-25 06:12:55

SVG 濾鏡CSS

2012-05-22 10:12:59

jQuery

2022-06-15 07:21:47

鼠標(biāo)指針交互效果CSS

2017-12-12 14:50:33

數(shù)據(jù)庫(kù)MySQL命令

2022-08-15 22:34:47

Overflow方向裁切

2021-02-20 16:01:26

Github前端開(kāi)發(fā)

2023-05-15 09:16:18

CSSCSS Mask

2022-07-11 13:09:26

mmapLinux

2021-09-26 07:57:15

Web項(xiàng)目GitHub

2017-08-01 00:52:07

kafka大數(shù)據(jù)消息總線
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

69亚洲精品久久久蜜桃小说| 天堂在线一区二区三区| 人操人视频在线观看| 久久久久久亚洲精品杨幂换脸| 一区二区在线视频播放| 国产aⅴ爽av久久久久| 污污视频在线| 国产清纯在线一区二区www| 91久久嫩草影院一区二区| 久久影院一区二区| 一区二区导航| 91精品国产日韩91久久久久久| 国产精彩视频一区二区| 成人午夜电影在线观看| 国产成人在线电影| 国产98色在线| 久久久久亚洲av成人片| 精品国产一区二区三区四区| 日韩欧美的一区| 日av中文字幕| 国产乱码在线| 中文字幕一区二区三| 久久综合久久综合这里只有精品| 91亚洲国产成人久久精品麻豆| aa亚洲婷婷| 久久综合九色九九| 国产精品国产三级国产专业不| 一区二区精彩视频| 欧美日韩国产综合久久| 国产精品免费观看久久| 蜜臀av国内免费精品久久久夜夜| 国产欧美日韩一区二区三区在线观看| 国产成人免费观看| 国产美女明星三级做爰| 秋霞国产午夜精品免费视频| 51久久精品夜色国产麻豆| 免费在线观看黄色av| 91精品国产麻豆国产在线观看| 亚洲人成绝费网站色www| 一级黄色大片免费看| 欧美大陆国产| 在线免费不卡电影| 欧美日韩在线不卡视频| 免费毛片在线看片免费丝瓜视频 | 国产伦精品一区二区三区| 中国一区二区视频| 日欧美一区二区| 欧美一区二区三区…… | 激情文学一区| 欧美大荫蒂xxx| 国产大学生自拍| 亚洲电影在线一区二区三区| 色偷偷9999www| 国产午夜精品久久久久久久久| 精品久久久亚洲| 国产亚洲一级高清| 国产18无套直看片| 日韩精品二区| xvideos成人免费中文版| 国产又粗又长又硬| 日韩www.| 日韩在线播放一区| 欧美做爰爽爽爽爽爽爽| 伊人情人综合网| 免费不卡欧美自拍视频| 欧美成人精品一区二区免费看片| 欧美日韩国产亚洲一区| 欧美激情在线狂野欧美精品| 日韩手机在线观看| 午夜在线一区二区| 国产精品久久国产精品99gif| 亚洲免费黄色网址| 日本成人中文字幕在线视频| 国产精品无av码在线观看| 亚洲天堂免费av| 国产一区不卡视频| 国产欧美日韩伦理| 精品无人乱码| **欧美大码日韩| 蜜桃视频一区二区在线观看| 国产在线看片免费视频在线观看| 亚洲成av人**亚洲成av**| 无码aⅴ精品一区二区三区浪潮 | 成人亲热视频网站| 99热这里只有精品9| 成人一级视频在线观看| 久久精品成人一区二区三区蜜臀 | ,一级淫片a看免费| 国产成人一级电影| 蜜桃av噜噜一区二区三区| 91网页在线观看| 一区二区三区在线观看网站| 国产精品va无码一区二区| 国产欧美自拍| 亚洲成人aaa| 国产调教在线观看| 欧美日韩亚洲一区在线观看| 日本久久久久久久| 国产精品系列视频| 26uuu久久天堂性欧美| 一级特黄录像免费播放全99| 91九色美女在线视频| 91黄色免费网站| 国产亚洲精品成人a| 国产欧美日韩精品一区二区免费 | 亚洲美女尤物影院| 欧美综合色免费| 无码人妻一区二区三区一| 国内黄色精品| 午夜精品久久久久久久99黑人| 波多野结衣绝顶大高潮| 国产成人激情av| 亚洲精品视频一区二区三区| 国产美女精品写真福利视频| 欧美丰满美乳xxx高潮www| 黄色片视频免费观看| 亚洲色图欧美| 国产精品 欧美在线| 国产香蕉在线观看| 亚洲视频每日更新| 91激情视频在线| 欧美wwwsss9999| 欧美大奶子在线| 又骚又黄的视频| 久久天天做天天爱综合色| 免费在线看黄色片| 国产精品色婷婷在线观看| 国产一区二区三区视频在线观看| 久草国产精品视频| 国产激情一区二区三区四区| 亚洲欧美日韩精品在线| 吉吉日韩欧美| 日韩精品丝袜在线| 国产一国产二国产三| 黑人巨大精品欧美一区| 性刺激综合网| yiren22亚洲综合| 日韩激情片免费| 亚洲国产精品成人无久久精品| 国产乱妇无码大片在线观看| 中文字幕中文字幕在线中心一区 | 91在线观看欧美日韩| 邻居大乳一区二区三区| 欧美日韩在线视频观看| 性色av蜜臀av浪潮av老女人| 亚洲小说欧美另类社区| 99高清视频有精品视频| 免费不卡av| 精品国产乱码久久久久久久 | 91在线视频精品| 日本中文字幕在线视频| 欧美日本在线播放| 无码人妻精品中文字幕 | 中文在线观看免费视频| 亚洲精品日韩久久| 精品国产一区二区三区麻豆小说 | 国产精品福利久久久| 福利成人在线观看| 欧美三级电影在线看| 一本在线免费视频| 黄色精品一二区| 久久免费一级片| 亚洲经典视频| 午夜精品久久久久久99热| 色在线免费视频| 在线观看91视频| 久久99久久99精品免费看小说| 黄色资源网久久资源365| 少妇一晚三次一区二区三区| 大伊香蕉精品在线品播放| 午夜精品久久久久久久男人的天堂| 色欲av伊人久久大香线蕉影院| 精品欧美一区二区三区| 久久美女免费视频| 久久99深爱久久99精品| 欧美国产视频一区| 日韩精品福利一区二区三区| 国产精品成久久久久三级| 欧美日本一道| 精品国产一区二区亚洲人成毛片| 日本一区二区网站| 国产丝袜美腿一区二区三区| 亚洲综合婷婷久久| 欧美福利网址| 久久精品国产第一区二区三区最新章节| 亚洲精品福利电影| 久久精品99国产精品酒店日本| 亚洲精品97久久中文字幕| 日韩欧美成人网| 天天鲁一鲁摸一摸爽一爽| 粉嫩绯色av一区二区在线观看| 国产91在线视频观看| 手机亚洲手机国产手机日韩| 国产精品区一区二区三含羞草| 成人va天堂| 另类图片亚洲另类| 欧美美女色图| 欧美一区二区三区白人| 秋霞精品一区二区三区| 亚洲欧美日韩国产成人精品影院| 国产一级二级视频| 久久国产免费看| 欧美二区在线视频| 久久中文字幕av| 精品乱码一区二区三区| 亚洲免费看片| 日本在线观看天堂男亚洲| av激情在线| 在线精品播放av| 日日躁夜夜躁白天躁晚上躁91| 欧美日韩高清在线| 成人毛片18女人毛片| 亚洲欧美视频在线观看| 欧美大波大乳巨大乳| 成人中文字幕在线| 国产欧美一区二| 首页综合国产亚洲丝袜| 人妻夜夜添夜夜无码av| 亚洲va在线| 婷婷久久青草热一区二区| 精品淫伦v久久水蜜桃| 91亚洲国产精品| 色8久久久久| 国产精品爱啪在线线免费观看| 波多野结衣在线高清| 美乳少妇欧美精品| 91精彩视频在线观看| 亚洲美女久久久| 少妇一级淫片免费看| 日韩一卡二卡三卡国产欧美| 在线免费观看视频网站| 91久久精品一区二区三| 在线观看亚洲欧美| 香蕉成人伊视频在线观看| 欧美成人一区二区三区高清| 亚洲欧洲日韩av| 在线观看亚洲大片短视频| 久久久国产午夜精品| 成人h动漫精品一区| 337p粉嫩大胆噜噜噜噜噜91av | 久久九九国产精品| 日本少妇色视频| 91污片在线观看| 手机在线成人av| 99久久久久久99| 久久一区二区电影| 91美女在线观看| 醉酒壮男gay强迫野外xx| 不卡视频免费播放| a天堂视频在线观看| 99re8在线精品视频免费播放| 中文在线观看免费视频| 91在线一区二区三区| 欧美一区二区三区成人精品| 91麻豆精品在线观看| 国产精品无码久久久久久| 久久美女艺术照精彩视频福利播放 | 欧美爱爱小视频| 亚洲一区二区三区中文字幕在线| 美女视频黄免费| 亚洲成av人片观看| 日韩在线 中文字幕| 在线日韩一区二区| 一区二区精品视频在线观看| 3d动漫精品啪啪| www.97av.com| 亚洲国产黄色片| 免费毛片在线| xxxxxxxxx欧美| 牛牛在线精品视频| 欧美一级淫片播放口| 深夜成人影院| 91欧美精品午夜性色福利在线| 欧美高清一级片| 国产精品手机视频| 欧美**vk| 最新av在线免费观看| 亚洲国产一区二区三区a毛片| 欧美日韩性生活片| 日本少妇一区二区| 国产亚洲色婷婷久久| 99久免费精品视频在线观看| 欧美黄色一级生活片| 亚洲靠逼com| 日韩无码精品一区二区三区| 色欧美88888久久久久久影院| 在线观看日批视频| 精品国产区一区| 成人高潮成人免费观看| 久久国产精品久久国产精品| 男女羞羞在线观看| 成人黄色av网| 婷婷精品在线| 日本精品免费视频| 欧美亚洲专区| 久久久精品视频国产| 久久久青草青青国产亚洲免观| 欧美 日韩 国产 一区二区三区| 精品久久久久久久大神国产| 夜夜躁狠狠躁日日躁av| 亚洲国产精品字幕| 伦xxxx在线| 国产成人欧美在线观看| 一区二区在线视频观看| 日韩精品第一页| 亚洲精品裸体| 在线观看中文av| 久久精品一区二区三区不卡| 免费在线视频一区二区| 欧美在线观看18| 熟妇人妻系列aⅴ无码专区友真希| 在线视频免费一区二区| 无遮挡爽大片在线观看视频| 92裸体在线视频网站| 成人激情免费视频| 欧美精品99久久| 国产精品一区二区三区乱码| 在线视频第一页| 午夜电影网一区| 不卡的日韩av| 日韩三级成人av网| 亚洲精品国产嫩草在线观看| 国产一区二区不卡视频| 午夜激情一区| 99九九精品视频| 国产精品国产三级国产aⅴ中文 | 7777精品伊人久久久大香线蕉经典版下载 | **在线精品| 精品一区二区视频| 黄色精品一区| 日韩大尺度视频| 亚洲精品成人少妇| va婷婷在线免费观看| 自拍偷拍免费精品| 欧美黄色三级| 日韩啊v在线| 久久精品网址| 国产中年熟女高潮大集合| 欧美视频在线视频| 亚洲人成色777777精品音频| 97国产在线视频| 琪琪久久久久日韩精品| 无码 制服 丝袜 国产 另类| 国产v日产∨综合v精品视频| 午夜少妇久久久久久久久| 91精品国产欧美一区二区18 | 国产精品久久久久久免费免熟| 一区二区三区亚洲| 电影亚洲一区| 伊人久久99| 黑人巨大精品欧美黑白配亚洲| 欧美另类videoxo高潮| 91麻豆精品国产91久久久| 国产秀色在线www免费观看| 91色精品视频在线| 欧美日韩18| 国产麻豆剧传媒精品国产av| 精品成人乱色一区二区| 日韩亚洲视频在线观看| 国产ts人妖一区二区三区| 欧美日韩伦理| 九九久久久久久| 亚洲夂夂婷婷色拍ww47| 三级视频在线看| 国产精品白嫩初高中害羞小美女| 国产精品探花在线观看| 邪恶网站在线观看| 亚洲精品国产a| 黄色av一区二区三区| 日本道色综合久久影院| 区一区二视频| 国产成人av免费观看| 天天操天天综合网| 国产大学生校花援交在线播放| 国产综合福利在线| 国产精品hd| 中文字幕在线看高清电影| 欧美亚洲国产一区在线观看网站 | 国产+人+亚洲| 国产成人一区| 久久精品亚洲天堂| 欧美日韩国产一区在线| 永久av在线| 成人女人免费毛片| 天堂精品中文字幕在线| 国产免费一区二区三区四区| 亚洲国产精品久久91精品| 精品无人乱码一区二区三区| 亚洲色婷婷久久精品av蜜桃| 91在线一区二区三区| 国产乱码久久久久| 2019国产精品自在线拍国产不卡| 成人6969www免费视频| 国产免费a级片| 91传媒视频在线播放| 欧美亚洲系列| 亚洲aⅴ天堂av在线电影软件| 成人精品视频网站| 中文字幕乱码在线观看| 97香蕉超级碰碰久久免费的优势|