亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > VBScript > 正文

用VBS寫(xiě)的VBSCRIPT代碼格式化工具VbsBeautifier

2020-06-26 18:40:29
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這篇文章主要介紹了用VBS寫(xiě)的VBSCRIPT代碼格式化工具VbsBeautifier,需要的朋友可以參考下

昨天在VBS吧看到一個(gè)精華帖《VBS代碼格式化工具》,是用C++寫(xiě)的,區(qū)區(qū)VBS代碼格式化,就不要?jiǎng)贑++大駕了吧,用VBS實(shí)現(xiàn)VBS代碼格式化工具不是更自然么?

網(wǎng)上的VBS代碼大部分都沒(méi)有縮進(jìn),新手不知道要縮進(jìn),高手縮進(jìn)了被某些個(gè)垃圾網(wǎng)站采集以后也就沒(méi)有了縮進(jìn),還有以一些博客貼吧也會(huì)把縮進(jìn)給吃掉。除了縮進(jìn)之外,由于學(xué)VBS的大部分都是學(xué)批處理出身,代碼風(fēng)格還是跟寫(xiě)批處理一樣難看。其實(shí)一般情況下用VbsEdit 5.2.4.0自帶的代碼格式化功能就行了,沒(méi)有必要重復(fù)造輪子。只不過(guò)VbsEdit 5.2.4.0在格式化帶有冒號(hào)的代碼時(shí)不是很理想,加上我已經(jīng)很久沒(méi)有寫(xiě)過(guò)像樣的VBS腳本了,所以還是決定造一下輪子。

2011年12月27日更新:在線VBScript代碼格式化工具VbsBeautifier

因?yàn)榇a比較長(zhǎng),所以貼在文章的最后,下面是VBS代碼格式化工具的效果演示:

格式化前的VBS代碼:

  1. ON ERROR RESUME NEXT:Set fso = CreateObject("Scripting.FileSystemObject"):X=0:T=true:WhiLe T 
  2.  
  3. Input=Inputbox("Filename Lowercase Batch Convertor"&vbcrlf&vbcrlf& _ 
  4.  
  5. "Please input the destination folder name. e.g. C:/Webmaster"&vbcrlf&vbcrlf& _ 
  6.  
  7. "Note: Do NOT add '/' in the end of folder name!","FLowercase Convertor","C:/"
  8.  
  9. iF Input="" then:Msgbox"Folder name is empty!",48,"Error!":T=true:else T=false:end If:wend 
  10.  
  11. Msgbox"All files names of "&Input&" will be converted to lowercase now...",64,"Note" 
  12.  
  13. fold(Input):Msgbox"Done! Total "&X&" file(s) were converted to lowercase.",64,"Done" 
  14.  
  15. sub fold(Path):SET f=fso.GetFolder(Path):Set rf = fso.GetFolder(Path).files:Set fc = f.SubFolders 
  16.  
  17. foR EACh fff in rf:lcf1=LCase(fso.GetAbsolutePathName(fff)) 
  18.  
  19. fso.MoveFile fff, lcf1:X=X + 1:next:for EacH f1 in fc:fold(f1) 
  20.  
  21. Set file=fso.GetFolder(f1).files:fOR EACh ff iN file:lcf=LCase(fso.GetAbsolutePathName(ff)) 
  22.  
  23. fso.MoveFile ff,lcf:NEXT:NEXT:END sub 

 

格式化后的VBS代碼:

  1. On Error Resume Next 
  2. Set fso = CreateObject("Scripting.FileSystemObject"
  3. X = 0 
  4. T = True 
  5. While T 
  6. Input = InputBox("Filename Lowercase Batch Convertor" & vbCrLf & vbCrLf & _ 
  7. "Please input the destination folder name. e.g. C:/Webmaster" & vbCrLf & vbCrLf & _ 
  8. "Note: Do NOT add '/' in the end of folder name!","FLowercase Convertor","C:/"
  9. If Input = "" Then 
  10. MsgBox"Folder name is empty!",48,"Error!" 
  11. T = True 
  12. Else T = False 
  13. End If 
  14. WEnd 
  15. MsgBox"All files names of " & Input & " will be converted to lowercase now...",64,"Note" 
  16. fold(Input) 
  17. MsgBox"Done! Total " & X & " file(s) were converted to lowercase.",64,"Done" 
  18. Sub fold(Path) 
  19. Set f = fso.GetFolder(Path) 
  20. Set rf = fso.GetFolder(Path).files 
  21. Set fc = f.SubFolders 
  22. For Each fff In rf 
  23. lcf1 = LCase(fso.GetAbsolutePathName(fff)) 
  24. fso.MoveFile fff, lcf1 
  25. X = X + 1 
  26. Next 
  27. For Each f1 In fc 
  28. fold(f1) 
  29. Set file = fso.GetFolder(f1).files 
  30. For Each ff In file 
  31. lcf = LCase(fso.GetAbsolutePathName(ff)) 
  32. fso.MoveFile ff,lcf 
  33. Next 
  34. Next 
  35. End Sub 


VBS代碼格式化工具的源碼:

  1. Option Explicit 
  2.  
  3. If WScript.Arguments.Count = 0 Then 
  4. MsgBox "請(qǐng)將要格式化的代碼文件拖動(dòng)到這個(gè)文件上", vbInformation, "使用方法" 
  5. WScript.Quit 
  6. End If 
  7.  
  8. '作者: Demon 
  9. '時(shí)間: 2011/12/24 
  10. '鏈接: http://demon.tw/my-work/vbs-beautifier.html 
  11. '描述: VBScript 代碼格式化工具 
  12. '注意:  
  13. '1. 錯(cuò)誤的 VBScript 代碼不能被正確地格式化 
  14. '2. 代碼中不能含有%[comment]% %[quoted]%等模板標(biāo)簽, 有待改進(jìn) 
  15. '3. 由2可知, 該工具不能格式化自身 
  16.  
  17. Dim Beautifier, i 
  18. Set Beautifier = New VbsBeautifier 
  19.  
  20. For Each i In WScript.Arguments 
  21. Beautifier.BeautifyFile i 
  22. Next 
  23.  
  24. MsgBox "代碼格式化完成", vbInformation, "提示" 
  25.  
  26.  
  27. Class VbsBeautifier 
  28. 'VbsBeautifier類 
  29.  
  30. Private quoted, comments, code, indents 
  31. Private ReservedWord, BuiltInFunction, BuiltInConstants, VersionInfo 
  32.  
  33. '公共方法 
  34. '格式化字符串 
  35. Public Function Beautify(ByVal input) 
  36. code = input 
  37. code = Replace(code, vbCrLf, vbLf) 
  38.  
  39. Call GetQuoted() 
  40. Call GetComments() 
  41. Call GetErrorHandling() 
  42.  
  43. Call ColonToNewLine() 
  44. Call FixSpaces() 
  45. Call ReplaceReservedWord() 
  46. Call InsertIndent() 
  47. Call FixIndent() 
  48.  
  49. Call PutErrorHandling() 
  50. Call PutComments() 
  51. Call PutQuoted() 
  52.  
  53. code = Replace(code, vbLf, vbCrLf) 
  54. code = VersionInfo & code 
  55. Beautify = code 
  56. End Function 
  57.  
  58. '公共方法 
  59. '格式化文件 
  60. Public Function BeautifyFile(ByVal path) 
  61. Dim fso 
  62. Set fso = CreateObject("scripting.filesystemobject"
  63. BeautifyFile = Beautify(fso.OpenTextFile(path).ReadAll) 
  64. '備份文件以免出錯(cuò) 
  65. fso.GetFile(path).Copy path & ".bak", True 
  66. fso.OpenTextFile(path, 2, True).Write(BeautifyFile) 
  67. End Function 
  68.  
  69. Private Sub Class_Initialize() 
  70. '保留字 
  71. ReservedWord = "And As Boolean ByRef Byte ByVal Call Case Class Const Currency Debug Dim Do Double Each Else ElseIf Empty End EndIf Enum Eqv Event Exit Explicit False For Function Get Goto If Imp Implements In Integer Is Let Like Long Loop LSet Me Mod New Next Not Nothing Null On Option Optional Or ParamArray Preserve Private Property Public RaiseEvent ReDim Rem Resume RSet Select Set Shared Single Static Stop Sub Then To True Type TypeOf Until Variant WEnd While With Xor" 
  72. '內(nèi)置函數(shù) 
  73. BuiltInFunction = "Abs Array Asc Atn CBool CByte CCur CDate CDbl CInt CLng CSng CStr Chr Cos CreateObject Date DateAdd DateDiff DatePart DateSerial DateValue Day Escape Eval Exp Filter Fix FormatCurrency FormatDateTime FormatNumber FormatPercent GetLocale GetObject GetRef Hex Hour InStr InStrRev InputBox Int IsArray IsDate IsEmpty IsNull IsNumeric IsObject Join LBound LCase LTrim Left Len LoadPicture Log Mid Minute Month MonthName MsgBox Now Oct Randomize RGB RTrim Replace Right Rnd Round ScriptEngine ScriptEngineBuildVersion ScriptEngineMajorVersion ScriptEngineMinorVersion Second SetLocale Sgn Sin Space Split Sqr StrComp StrReverse String Tan Time TimeSerial TimeValue Timer Trim TypeName UBound UCase Unescape VarType Weekday WeekdayName Year" 
  74. '內(nèi)置常量 
  75. BuiltInConstants = "vbBlack vbRed vbGreen vbYellow vbBlue vbMagenta vbCyan vbWhite vbBinaryCompare vbTextCompare vbSunday vbMonday vbTuesday vbWednesday vbThursday vbFriday vbSaturday vbUseSystemDayOfWeek vbFirstJan1 vbFirstFourDays vbFirstFullWeek vbGeneralDate vbLongDate vbShortDate vbLongTime vbShortTime vbObjectError vbOKOnly vbOKCancel vbAbortRetryIgnore vbYesNoCancel vbYesNo vbRetryCancel vbCritical vbQuestion vbExclamation vbInformation vbDefaultButton1 vbDefaultButton2 vbDefaultButton3 vbDefaultButton4 vbApplicationModal vbSystemModal vbOK vbCancel vbAbort vbRetry vbIgnore vbYes vbNo vbCr vbCrLf vbFormFeed vbLf vbNewLine vbNullChar vbNullString vbTab vbVerticalTab vbUseDefault vbTrue vbFalse vbEmpty vbNull vbInteger vbLong vbSingle vbDouble vbCurrency vbDate vbString vbObject vbError vbBoolean vbVariant vbDataObject vbDecimal vbByte vbArray WScript" 
  76. '版本信息 
  77. VersionInfo = Chr(39) & Chr(86) & Chr(98) & Chr(115) & Chr(66) & Chr(101) & Chr(97) & Chr(117) & Chr(116) & Chr(105) & Chr(102) & Chr(105) & Chr(101) & Chr(114) & Chr(32) & Chr(49) & Chr(46) & Chr(48) & Chr(32) & Chr(98) & Chr(121) & Chr(32) & Chr(68) & Chr(101) & Chr(109) & Chr(111) & Chr(110) & Chr(13) & Chr(10) & Chr(39) & Chr(104) & Chr(116) & Chr(116) & Chr(112) & Chr(58) & Chr(47) & Chr(47) & Chr(100) & Chr(101) & Chr(109) & Chr(111) & Chr(110) & Chr(46) & Chr(116) & Chr(119) & Chr(13) & Chr(10) 
  78. '縮進(jìn)大小 
  79. Set indents = CreateObject("scripting.dictionary"
  80. indents("if") = 1 
  81. indents("sub") = 1 
  82. indents("function") = 1 
  83. indents("property") = 1 
  84. indents("for") = 1 
  85. indents("while") = 1 
  86. indents("do") = 1 
  87. indents("for") = 1 
  88. indents("select") = 1 
  89. indents("with") = 1 
  90. indents("class") = 1 
  91. indents("end") = -1 
  92. indents("next") = -1 
  93. indents("loop") = -1 
  94. indents("wend") = -1 
  95. End Sub 
  96.  
  97. Private Sub Class_Terminate() 
  98. '什么也不做 
  99. End Sub 
  100.  
  101. '將字符串替換成%[quoted]% 
  102. Private Sub GetQuoted() 
  103. Dim re 
  104. Set re = New RegExp 
  105. re.Global = True 
  106. re.Pattern = """.*?""" 
  107. Set quoted = re.Execute(code) 
  108. code = re.Replace(code, "%[quoted]%"
  109. End Sub 
  110.  
  111. '將%[quoted]%替換回字符串 
  112. Private Sub PutQuoted() 
  113. Dim i 
  114. For Each i In quoted 
  115. code = Replace(code, "%[quoted]%", i, 1, 1) 
  116. Next 
  117. End Sub 
  118.  
  119. '將注釋替換成%[comment]% 
  120. Private Sub GetComments() 
  121. Dim re 
  122. Set re = New RegExp 
  123. re.Global = True 
  124. re.Pattern = "'.*" 
  125. Set comments = re.Execute(code) 
  126. code = re.Replace(code, "%[comment]%"
  127. End Sub 
  128.  
  129. '將%[comment]%替換回注釋 
  130. Private Sub PutComments() 
  131. Dim i 
  132. For Each i In comments 
  133. code = Replace(code, "%[comment]%", i, 1, 1) 
  134. Next 
  135. End Sub 
  136.  
  137. '將冒號(hào)替換成換行 
  138. Private Sub ColonToNewLine 
  139. code = Replace(code, ":", vbLf) 
  140. End Sub 
  141.  
  142. '將錯(cuò)誤處理語(yǔ)句替換成模板標(biāo)簽 
  143. Private Sub GetErrorHandling() 
  144. Dim re 
  145. Set re = New RegExp 
  146. re.Global = True 
  147. re.IgnoreCase = True 
  148. re.Pattern = "on/s+error/s+resume/s+next" 
  149. code = re.Replace(code, "%[resumenext]%"
  150. re.Pattern = "on/s+error/s+goto/s+0" 
  151. code = re.Replace(code, "%[gotozero]%"
  152. End Sub 
  153.  
  154. '將模板標(biāo)簽替換回錯(cuò)誤處理語(yǔ)句 
  155. Private Sub PutErrorHandling() 
  156. code = Replace(code, "%[resumenext]%""On Error Resume Next"
  157. code = Replace(code, "%[gotozero]%""On Error GoTo 0"
  158. End Sub 
  159.  
  160. '格式化空格 
  161. Private Sub FixSpaces() 
  162. Dim re 
  163. Set re = New RegExp 
  164. re.Global = True 
  165. re.IgnoreCase = True 
  166. re.MultiLine = True 
  167. '去掉每行前后的空格 
  168. re.Pattern = "^[ /t]*(.*?)[ /t]*$" 
  169. code = re.Replace(code, "$1"
  170. '在操作符前后添加空格 
  171. re.Pattern = "[ /t]*(=|<|>|-|/+|&|/*|/|/^|//)[ /t]*" 
  172. code = re.Replace(code, " $1 "
  173. '去掉<>中間的空格 
  174. re.Pattern = "[ /t]*</s*>[ /t]*" 
  175. code = re.Replace(code, " <> "
  176. '去掉<=中間的空格 
  177. re.Pattern = "[ /t]*</s*=[ /t]*" 
  178. code = re.Replace(code, " <= "
  179. '去掉>=中間的空格 
  180. re.Pattern = "[ /t]*>/s*=[ /t]*" 
  181. code = re.Replace(code, " >= "
  182. '在行尾的 _ 前面加上空格 
  183. re.Pattern = "[ /t]*_[ /t]*$" 
  184. code = re.Replace(code, " _"
  185. '去掉Do While中間多余的空格 
  186. re.Pattern = "[ /t]*Do/s*While[ /t]*" 
  187. code = re.Replace(code, "Do While"
  188. '去掉Do Until中間多余的空格 
  189. re.Pattern = "[ /t]*Do/s*Until[ /t]*" 
  190. code = re.Replace(code, "Do Until"
  191. '去掉End Sub中間多余的空格 
  192. re.Pattern = "[ /t]*End/s*Sub[ /t]*" 
  193. code = re.Replace(code, "End Sub"
  194. '去掉End Function中間多余的空格 
  195. re.Pattern = "[ /t]*End/s*Function[ /t]*" 
  196. code = re.Replace(code, "End Function"
  197. '去掉End If中間多余的空格 
  198. re.Pattern = "[ /t]*End/s*If[ /t]*" 
  199. code = re.Replace(code, "End If"
  200. '去掉End With中間多余的空格 
  201. re.Pattern = "[ /t]*End/s*With[ /t]*" 
  202. code = re.Replace(code, "End With"
  203. '去掉End Select中間多余的空格 
  204. re.Pattern = "[ /t]*End/s*Select[ /t]*" 
  205. code = re.Replace(code, "End Select"
  206. '去掉Select Case中間多余的空格 
  207. re.Pattern = "[ /t]*Select/s*Case[ /t]*" 
  208. code = re.Replace(code, "Select Case "
  209. End Sub 
  210.  
  211. '將保留字 內(nèi)置函數(shù) 內(nèi)置常量 替換成首字母大寫(xiě) 
  212. Private Sub ReplaceReservedWord() 
  213. Dim re, words, word 
  214. Set re = New RegExp 
  215. re.Global = True 
  216. re.IgnoreCase = True 
  217. re.MultiLine = True 
  218.  
  219. words = Split(ReservedWord, " "
  220. For Each word In words 
  221. re.Pattern = "(/b)" & word & "(/b)" 
  222. code = re.Replace(code, "$1" & word & "$2"
  223. Next 
  224.  
  225. words = Split(BuiltInFunction, " "
  226. For Each word In words 
  227. re.Pattern = "(/b)" & word & "(/b)" 
  228. code = re.Replace(code, "$1" & word & "$2"
  229. Next 
  230.  
  231. words = Split(BuiltInConstants, " "
  232. For Each word In words 
  233. re.Pattern = "(/b)" & word & "(/b)" 
  234. code = re.Replace(code, "$1" & word & "$2"
  235. Next 
  236. End Sub 
  237.  
  238. '插入縮進(jìn) 
  239. Private Sub InsertIndent() 
  240. Dim lines, line, i, n, t, delta 
  241. lines = Split(code, vbLf) 
  242. n = UBound(lines) 
  243. For i = 0 To n 
  244. line = lines(i) 
  245. SingleLineIfThen line 
  246. t = delta 
  247. delta = delta + CountDelta(line) 
  248.  
  249. If t <= delta Then 
  250. lines(i) = String(t, vbTab) & lines(i) 
  251. Else 
  252. lines(i) = String(delta, vbTab) & lines(i) 
  253. End If 
  254. Next 
  255. code = Join(lines, vbLf) 
  256. End Sub 
  257.  
  258. '調(diào)整錯(cuò)誤的縮進(jìn) 
  259. Private Sub FixIndent() 
  260. Dim lines, i, n, re 
  261. Set re = New RegExp 
  262. re.IgnoreCase = True 
  263. lines = Split(code, vbLf) 
  264. n = UBound(lines) 
  265. For i = 0 To n 
  266. re.Pattern = "^/t*else" 
  267. If re.Test(lines(i)) Then 
  268. lines(i) = Replace(lines(i), vbTab, "", 1, 1) 
  269. End If 
  270. Next 
  271. code = Join(lines, vbLf) 
  272. End Sub 
  273.  
  274. '計(jì)算縮進(jìn)大小 
  275. Private Function CountDelta(ByRef line) 
  276. Dim i, re, delta 
  277. Set re = New RegExp 
  278. re.Global = True 
  279. re.IgnoreCase = True 
  280. For Each i In indents.Keys 
  281. re.Pattern = "^/s*/b" & i & "/b" 
  282. If re.Test(line) Then 
  283. '方便調(diào)試 
  284. 'WScript.Echo line 
  285. line = re.Replace(line, ""
  286. delta = delta + indents(i) 
  287. End If 
  288. Next 
  289. CountDelta = delta 
  290. End Function 
  291.  
  292. '處理單行的If Then 
  293. Private Sub SingleLineIfThen(ByRef line) 
  294. Dim re 
  295. Set re = New RegExp 
  296. re.IgnoreCase = True 
  297. re.Pattern = "if.*?then.+" 
  298. line = re.Replace(line, ""
  299. '去掉Private Public前綴 
  300. re.Pattern = "(private|public).+?(sub|function|property)" 
  301. line = re.Replace(line, "$2"
  302. End Sub 
  303.  
  304. End Class 
  305. 'Demon, 于2011年平安夜 


來(lái)源:http://demon.tw/my-work/vbs-beautifier.html

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
亚洲第一综合| 日韩成人黄色片| 99se婷婷在线视频观看| 亚洲日本中文| 国产suv精品一区二区68| 国产一区二区三区在线免费观看| 操人视频在线播放| 精品一区二区三区无码视频| 免费在线成人激情电影| 九七影院97影院理论片久久| 国产在线一级片| 91久久偷偷做嫩草影院电| 日韩精品一区二区三区外面| 久久久精品免费| 欧美hentaied在线观看| 欧美日韩小视频| 久久成人这里只有精品| 亚洲a视频在线观看| 欧美丰满少妇人妻精品| 一区二区三区视频免费在线观看| 中文字幕av一区二区三区人| 欧美视频一区二区三区四区| 国产视频一区在线| 欧美日韩大陆在线| 午夜电影福利| 91久久久亚洲精品| 国产亚洲精品久久久久久无几年桃| 亚洲人metart人体| 爽爽影院免费观看视频| 成人永久免费网站| 日本在线免费观看| 中文字幕国产亚洲2019| 国产黄色小视频在线| 少妇精品在线| 国产一级18片视频| 日韩精品一区二区三区中文字幕| 影音先锋男人资源在线| 久久神马影院| 国产成人在线视频免费播放| 黄色片视频网站| 国产欧美日韩专区| 欧美一区在线看| 国产亚洲情侣一区二区无| 人妻互换一区二区激情偷拍| 天堂网在线观看在线观看精品| 国产美女极品在线| 亚洲图片 自拍偷拍| 欧美人成在线| 成人羞羞网站入口免费| 懂色av一区二区三区四区五区| 日本少妇xxxx| 午夜精品久久久久久毛片| 久久久久免费观看| 少妇网站在线观看| 亚洲日本精品国产第一区| 国产免费观看久久黄| 午夜天堂精品久久久久| 欧美v在线观看| 在线日韩第一页| 亚洲一区二区三区香蕉| 国产最新免费视频| 久久亚洲二区三区| 97久久精品人人澡人人爽缅北| 午夜精品影视国产一区在线麻豆| 91丨porny丨蝌蚪视频| 久久五月天色综合| jizz亚洲大全| 韩国视频一区| 午夜小视频在线播放| 狂野欧美一区| 国产精品毛片一区二区三区四区| 国产精品三区在线| 亚洲欧洲日韩| 欧美激情极品视频| 图片区小说区区亚洲五月| 亚洲美女精品久久| 无码国产精品一区二区色情男同| 欧洲一区二区三区精品| 草草草在线视频| 国产女人18水真多18精品一级做| jizzjizzjizz亚洲| 91色国产在线| 国产成人av电影在线| 日本丶国产丶欧美色综合| 精品剧情v国产在线观看| 亚洲尤物视频网| xxxxxx国产精品视频| 黄色在线视频网站| 日本一二三不卡视频| 国产精品精品久久久| 最新国产の精品合集bt伙计| 亚洲一区二区三区欧美| 国产精品裸体一区二区三区| 欧美重口乱码一区二区| 亚洲最新永久观看在线| 欧美精品视频www在线观看| 奇米影视亚洲色图| 伊人成综合网yiren22| 国产又黄又粗又猛又爽的视频| www黄色网址| 午夜免费看视频| 怡红院在线播放| 国产精品入口芒果| 欧美三级一级片| yw193.com尤物在线| 最近免费观看高清韩国日本大全| 在线播放日韩欧美| 99re6热在线精品视频播放速度| 亚洲欧美小说国产图片| 日日夜夜天天操| 欧洲亚洲在线视频| 免费看黄色网址| 欧美久久久久久蜜桃| 亚洲国产精品久久久久婷蜜芽| 国产在线播放一区三区四| 久久动漫亚洲| 中文字幕在线1| 日本加勒比高清在线| 成人伦理视频网站| 久久撸在线视频| 精品视频vs精品视频| 欧美综合亚洲图片综合区| 56国语精品自产拍在线观看| 欧美一区二区不卡视频| 风流少妇一区二区三区91| 亚洲成人在线网站| 欧美日韩亚洲高清一区二区| 日本在线天堂| 国产黄大片在线观看| 午夜在线一区| 麻豆传媒在线免费| 成人三级视频在线观看一区二区| 日本aa在线| 精品欧美一区二区三区| 国产一区二区精品久久| 欧美视频免费一区二区三区| 日韩欧美国产免费| 欧美黑人巨大| 丰满少妇在线观看bd| 成人两性免费视频| 日本黄色中文字幕| 亚洲图区一区| 狼人精品一区二区三区在线| 日韩精品国产欧美| 你懂的视频在线播放| 精品一区二区三区四区在线| 性欧美精品孕妇| 视频在线观看入口黄最新永久免费国产| 在线亚洲精品| 91大神福利视频在线| 一本之道久久| 日韩中文字幕有码| 91国偷自产一区二区三区的观看方式| 99国产在线观看| 国产又黄又粗视频| 色女人在线视频| 欧美日韩视频一区二区| 欧美丰满少妇xxxbbb| 中文资源在线网| 久久久99爱| www.狠狠操| 欧美色欧美亚洲另类二区| 国产视频久久久久久久| 无码人妻aⅴ一区二区三区69岛| 久久免费精品视频| 欧美日韩精品一区二区三区视频播放| 久热中文字幕精品视频在线| 亚洲特级片在线| 电影亚洲一区| 久久午夜色播影院免费高清| 亚洲网在线观看| aa视频在线播放| 国产精品18久久久久久麻辣| 欧美做a欧美| 男人的天堂av网站| 久久久成人网| 亚洲丝袜在线视频| 在线a视频网站| 成人综合社区| 亚洲18色成人| 亚洲欧美日韩国产综合在线| 性一交一乱一伦一色一情| 在线播放国产一区| 亚洲国产裸拍裸体视频在线观看乱了| 在线成人综合色一区| 国产黄色一区| 精品成a人在线观看| 日本在线免费| 亚洲蜜臀av乱码久久精品| 久久久久女人精品毛片九一| 最新国产在线| 88av在线视频| 国产aⅴ精品一区二区三区色成熟| 欧美xxxx性xxxxx高清| 免费电影一区二区三区| 97se亚洲综合| 亚洲大型综合色站| 中文字幕v亚洲ⅴv天堂| 天干天干啦夜天天天视频| 91精品国产综合久久国产大片| 国产妇女馒头高清泬20p多| 亚洲综合小说网| 日韩人妻精品无码一区二区三区| 中文字幕欧美视频| 精品久久不卡| 国产88在线观看入口| 精品国产三级电影在线观看| 中文字幕日韩久久| 国产综合精品久久久久成人av| 影音先锋日韩在线| 国产女主播喷水高潮网红在线| 99re热精品视频| 精品国产不卡一区二区| 成熟丰满熟妇高潮xxxxx视频| 成人精品国产亚洲| 极品日韩久久| 国产女主播喷水视频在线观看| 精品少妇一区二区三区免费观看| 欧美日韩久久久一区| 18视频免费网址在线观看| wwwwww国产| 俺去了亚洲欧美日韩| 日韩hmxxxx| 欧美一级黄色录像片| 亚洲三级免费| 国产精品综合| 在线视频日韩| 日韩在线观看不卡| 中文字字幕在线中文| 日韩高清专区| 日韩精品在线私人| 青青草在线免费观看| 久久免费视频精品| 国产欧美日韩综合一区在线观看| 成人h动漫精品一区二区器材| 一区二区三区国产免费| 国产免费av国片精品草莓男男| 亚洲一区中文字幕| 男女啪啪网站视频| 国产女人18水真多18精品一级做| 中文字幕在线中文字幕二区| 欧美日韩在线精品一区二区三区| 视频二区在线观看| 欧美日韩国产综合草草| 7878视频在线观看| 色哟哟在线观看| 三级在线观看免费大全| 欧美三级欧美成人高清www| 国产一级片网站| 国产一级粉嫩xxxx| 亚洲天堂网2018| 99久久精品久久久久久清纯| 日韩免费不卡av| 91青青草视频| 日本欧美三级| 成人国产精品久久久网站| 一卡二卡3卡四卡高清精品视频| 成午夜精品一区二区三区软件| 日本免费看黄| 成r视频免费观看在线播放| 国产精品久久精品国产| 国产亚洲色婷婷久久99精品| 亚洲精品第一国产综合精品| 亚洲天堂日韩av| 免费观看一级特黄欧美大片| 极品美女一区| 成人黄色a**站在线观看| 欧美激情99| 熟女人妇 成熟妇女系列视频| 日韩视频一区二区三区四区| 精品在线一区二区三区| 成人国产亚洲欧美成人综合网| 中文在线a√在线8| 国产美女精品视频免费观看| 亚洲不卡一卡2卡三卡4卡5卡精品| 日韩久久久久久久久久久久| 最近2019中文字幕第三页视频| 国产在线高清| 一区二区在线观看免费视频播放| 黑人巨大精品欧美一区二区三区| 亚洲欧洲一区| 天堂av一区二区三区在线播放| 亚洲少妇一区| 人成网站在线观看| 成人亚洲精品777777ww| 全部毛片永久免费看| 视频一区二区三区中文字幕| www.av网站| 国产麻豆视频一区二区| 超碰这里只有精品| 在线成人av| 裸体素人女欧美日韩| 欧美特级黄色片| 狠狠色2019综合网| 少妇又色又爽又黄的视频| 国产精品无码2021在线观看| 国产小视频在线| 欧美办公室脚交xxxx| 欧美专区一区二区三区| 精品亚洲a∨一区二区三区18| 亚洲成av人影院| 91伊人久久大香线蕉| 一道本无吗dⅴd在线播放一区| 97精品在线视频| 国产成人的电影在线观看| 九九热播视频在线精品6| 一级片免费在线观看视频| 国产精品无码久久久久成人app| av在线网址导航| 国产在线精品一区在线观看麻豆| 中文字幕一区二区人妻痴汉电车| 人人鲁人人莫人人爱精品| 91麻豆精品国产91久久久久| 男人日女人视频网站| 欧美色综合天天久久综合精品| 国产乱码一区二区三区四区| 五月婷婷六月香| 日韩一区二区不卡| 都市激情亚洲一区| 久久精品国产亚洲AV无码麻豆| 88国产精品视频一区二区三区| 图片区小说区国产精品视频| 麻豆app在线观看| 小小的日本在线观看免费色网| 久久高清视频免费| 日韩一级免费一区| 精品在线小视频| 97在线视频人妻无码|