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

Java正則表達式工具類實例

開發 后端
本文向您展示一個Java正則表達式的工具類,這個工具類包含25中正則表達式,本文列出15中常用功能。

以前寫了一個Java的正規表達式的Java工具類,分享一下,有用到的歡迎下載使用。如果你有常用的定義好的,且測試通過的正規表達式,歡迎跟貼,也讓我享用一下類中用到了 jakarta-oro-2.0.jar包,請大家自己在 apache網站下下載

在這是junit測試單元類我就不提交了,在main()方法中有幾個小測試,有興趣自己玩吧.

這個Java正則表達式工具類目前主要有25種正規表達式,有些不常用,這里只列出15種常用Java正則表達式功能。

1.匹配圖象;                     
2 匹配email地址;                   
3 匹配匹配并提取url ;                        
4 匹配并提取http ;
5.匹配日期                      
6 匹配電話;                              
7 匹配身份證                                      
8 匹配郵編代碼
9. 不包括特殊字符的匹配
10 匹配非負整數(正整數 + 0)                                        
11 匹配不包括零的非負整數(正整數 > 0)
12 匹配正整數                                                                     
13  匹配非正整數(負整數 + 0)                                               
14 匹配負整數;                                                                     
15.匹配整數

 

  1. package com.ygj.util;      
  2.      
  3. import java.util.*;      
  4.      
  5. import org.apache.oro.text.regex.*;      
  6.     
  7.      
  8. /**     
  9.  * 類簡介: 使用正則表達式驗證數據或提取數據,類中的方法全為靜態的  
  10.  * 主要方法:1. isHardRegexpValidate(String source, String regexp)     
  11.               區分大小寫敏感的正規表達式批配    *          2. isSoftRegexpValidate(String source, String regexp)     
  12.  *             不區分大小寫的正規表達式批配     
  13.  *          3. getHardRegexpMatchResult(String source, String regexp)     
  14.  *             返回許要的批配結果集(大小寫敏感的正規表達式批配)     
  15.  *          4. getSoftRegexpMatchResult(String source, String regexp)     
  16.  *             返回許要的批配結果集(不區分大小寫的正規表達式批配)     
  17.  *          5  getHardRegexpArray(String source, String regexp)     
  18.  *             返回許要的批配結果集(大小寫敏感的正規表達式批配)     
  19.  *          6. getSoftRegexpMatchResult(String source, String regexp)     
  20.  *             返回許要的批配結果集(不區分大小寫的正規表達式批配)     
  21.  *          7.  getBetweenSeparatorStr(final String originStr,final char leftSeparator,final char rightSeparator)     
  22.  *             得到指定分隔符中間的字符串的集合     
  23.  *     
  24.  * @mail wuzhi2000@hotmail.com     
  25.  * @author ygj     
  26.  *     
  27.  */     
  28. public final class Regexp      
  29. {      
  30.      
  31.     /**  保放有四組對應分隔符 */     
  32.     static final  Set SEPARATOR_SET=new TreeSet();      
  33.     {      
  34.                SEPARATOR_SET.add("(");      
  35.                SEPARATOR_SET.add(")");      
  36.                SEPARATOR_SET.add("[");      
  37.                SEPARATOR_SET.add("]");      
  38.                SEPARATOR_SET.add("{");      
  39.                SEPARATOR_SET.add("}");      
  40.                SEPARATOR_SET.add("<");      
  41.                SEPARATOR_SET.add(">");      
  42.     }      
  43.      
  44.      
  45.     /** 存放各種正規表達式(以key->value的形式) */     
  46.      public static HashMap regexpHash = new HashMap();      
  47.      
  48.     /** 存放各種正規表達式(以key->value的形式) */     
  49.     public static  List matchingResultList = new ArrayList();      
  50.      
  51.    private       Regexp()      
  52.     {      
  53.      
  54.     }      
  55.     /**     
  56.      * 返回 Regexp 實例     
  57.      * @return     
  58.      */     
  59.     public static Regexp getInstance()      
  60.     {      
  61.         return new Regexp();      
  62.     }      
  63.      
  64.     /**     
  65.      * 匹配圖象   
  66.     
  67.      *     
  68.      * 格式: /相對路徑/文件名.后綴 (后綴為gif,dmp,png)     
  69.      *     
  70.      * 匹配 : /forum/head_icon/admini2005111_ff.gif 或 admini2005111.dmp  
  71.     
  72.      *     
  73.      * 不匹配: c:/admins4512.gif     
  74.      *     
  75.      */     
  76.     public static final String icon_regexp = "^(/{0,1}\\w){1,}\\.(gif|dmp|png|jpg)$|^\\w{1,}\\.(gif|dmp|png|jpg)$";      
  77.      
  78.     /**     
  79.      * 匹配email地址   
  80.     
  81.      *     
  82.      * 格式: XXX@XXX.XXX.XX     
  83.      *     
  84.      * 匹配 : foo@bar.com 或 foobar@foobar.com.au   
  85.     
  86.      *     
  87.      * 不匹配: foo@bar 或 $$$@bar.com     
  88.      *     
  89.      */     
  90.     public static final String email_regexp = "(?:\\w[-._\\w]*\\w@\\w[-._\\w]*\\w\\.\\w{2,3}$)";      
  91.      
  92.     /**     
  93.      * 匹配匹配并提取url   
  94.     
  95.      *     
  96.      * 格式: XXXX://XXX.XXX.XXX.XX/XXX.XXX?XXX=XXX     
  97.      *     
  98.      * 匹配 : http://www.suncer.com 或news://www  
  99.     
  100.      *     
  101.      * 提取(MatchResult matchResult=matcher.getMatch()):     
  102.      *              matchResult.group(0)= http://www.suncer.com:8080/index.html?login=true     
  103.      *              matchResult.group(1) = http     
  104.      *              matchResult.group(2) = www.suncer.com     
  105.      *              matchResult.group(3) = :8080     
  106.      *              matchResult.group(4) = /index.html?login=true     
  107.      *     
  108.      * 不匹配: c:\window     
  109.      *     
  110.      */     
  111.     public static final String url_regexp = "(\\w+)://([^/:]+)(:\\d*)?([^#\\s]*)";      
  112.      
  113.     /**     
  114.      * 匹配并提取http   
  115.     
  116.      *     
  117.      * 格式: http://XXX.XXX.XXX.XX/XXX.XXX?XXX=XXX 或 ftp://XXX.XXX.XXX 或 https://XXX     
  118.      *     
  119.      * 匹配 : http://www.suncer.com:8080/index.html?login=true  
  120.     
  121.      *     
  122.      * 提取(MatchResult matchResult=matcher.getMatch()):     
  123.      *              matchResult.group(0)= http://www.suncer.com:8080/index.html?login=true     
  124.      *              matchResult.group(1) = http     
  125.      *              matchResult.group(2) = www.suncer.com     
  126.      *              matchResult.group(3) = :8080     
  127.      *              matchResult.group(4) = /index.html?login=true     
  128.      *     
  129.      * 不匹配: news://www     
  130.      *     
  131.      */     
  132.     public static final String http_regexp = "(http|https|ftp)://([^/:]+)(:\\d*)?([^#\\s]*)";      
  133.      
  134.     /**     
  135.      * 匹配日期   
  136.     
  137.      *     
  138.      * 格式(首位不為0): XXXX-XX-XX 或 XXXX XX XX 或 XXXX-X-X   
  139.     
  140.      *     
  141.      * 范圍:1900--2099   
  142.     
  143.      *     
  144.      * 匹配 : 2005-04-04   
  145.     
  146.      *     
  147.      * 不匹配: 01-01-01     
  148.      *     
  149.      */     
  150.     public static final String date_regexp = "^((((19){1}|(20){1})d{2})|d{2})[-\\s]{1}[01]{1}d{1}[-\\s]{1}[0-3]{1}d{1}$";// 匹配日期      
  151.      
  152.     /**     
  153.      * 匹配電話   
  154.     
  155.      *     
  156.      * 格式為: 0XXX-XXXXXX(10-13位首位必須為0) 或0XXX XXXXXXX(10-13位首位必須為0) 或   
  157.     
  158.      * (0XXX)XXXXXXXX(11-14位首位必須為0) 或 XXXXXXXX(6-8位首位不為0) 或     
  159.      * XXXXXXXXXXX(11位首位不為0)   
  160.     
  161.      *     
  162.      * 匹配 : 0371-123456 或 (0371)1234567 或 (0371)12345678 或 010-123456 或     
  163.      * 010-12345678 或 12345678912   
  164.     
  165.      *     
  166.      * 不匹配: 1111-134355 或 0123456789     
  167.      *     
  168.      */     
  169.     public static final String phone_regexp = "^(?:0[0-9]{2,3}[-\\s]{1}|\\(0[0-9]{2,4}\\))[0-9]{6,8}$
    |^[1-9]{1}[0-9]{5,7}$|^[1-9]{1}[0-9]{10}$"
    ;      
  170.      
  171.     /**     
  172.      * 匹配身份證   
  173.     
  174.      *     
  175.      * 格式為: XXXXXXXXXX(10位) 或 XXXXXXXXXXXXX(13位) 或 XXXXXXXXXXXXXXX(15位) 或     
  176.      * XXXXXXXXXXXXXXXXXX(18位)   
  177.     
  178.      *     
  179.      * 匹配 : 0123456789123   
  180.     
  181.      *     
  182.      * 不匹配: 0123456     
  183.      *     
  184.      */     
  185.     public static final String ID_card_regexp = "^\\d{10}|\\d{13}|\\d{15}|\\d{18}$";      
  186.      
  187.     /**     
  188.      * 匹配郵編代碼   
  189.     
  190.      *     
  191.      * 格式為: XXXXXX(6位)   
  192.     
  193.      *     
  194.      * 匹配 : 012345   
  195.     
  196.      *     
  197.      * 不匹配: 0123456     
  198.      *     
  199.      */     
  200.     public static final String ZIP_regexp = "^[0-9]{6}$";// 匹配郵編代碼      
  201.      
  202.      
  203.     /**     
  204.      * 不包括特殊字符的匹配 (字符串中不包括符號 數學次方號^ 單引號' 雙引號" 分號; 逗號, 帽號: 數學減號- 右尖括號> 
    左尖括號<  反斜杠\ 即空格,制表符,回車符等 )
     
  205.     
  206.      *     
  207.      * 格式為: x 或 一個一上的字符   
  208.     
  209.      *     
  210.      * 匹配 : 012345   
  211.     
  212.      *     
  213.      * 不匹配: 0123456     
  214.      *     
  215.      */     
  216.     public static final String non_special_char_regexp = "^[^'\"\\;,:-<>\\s].+$";// 匹配郵編代碼      
  217.      
  218.      
  219.     /**     
  220.      * 匹配非負整數(正整數 + 0)     
  221.      */     
  222.     public static final String non_negative_integers_regexp = "^\\d+$";      
  223.      
  224.     /**     
  225.      * 匹配不包括零的非負整數(正整數 > 0)     
  226.      */     
  227.     public static final String non_zero_negative_integers_regexp = "^[1-9]+\\d*$";      
  228.      
  229.     /**     
  230.      *     
  231.      * 匹配正整數     
  232.      *     
  233.      */     
  234.     public static final String positive_integer_regexp = "^[0-9]*[1-9][0-9]*$";      
  235.      
  236.     /**     
  237.      *     
  238.      * 匹配非正整數(負整數 + 0)     
  239.      *     
  240.      */     
  241.     public static final String non_positive_integers_regexp = "^((-\\d+)|(0+))$";      
  242.      
  243.     /**     
  244.      *     
  245.      * 匹配負整數     
  246.      *     
  247.      */     
  248.     public static final String negative_integers_regexp = "^-[0-9]*[1-9][0-9]*$";      
  249.      
  250.     /**     
  251.      *     
  252.      * 匹配整數     
  253.      *     
  254.      */     
  255.     public static final String integer_regexp = "^-?\\d+$";      
  256.      
  257.     /**     
  258.      *     
  259.      * 匹配非負浮點數(正浮點數 + 0)     
  260.      *     
  261.      */     
  262.     public static final String non_negative_rational_numbers_regexp = "^\\d+(\\.\\d+)?$";      
  263.      
  264.     /**     
  265.      *     
  266.      * 匹配正浮點數     
  267.      *     
  268.      */     
  269.     public static final String positive_rational_numbers_regexp = "^(([0-9]+\\.[0-9]*[1-9][0-9]*)
    |([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"
    ;      
  270.      
  271.     /**     
  272.      *     
  273.      * 匹配非正浮點數(負浮點數 + 0)     
  274.      *     
  275.      */     
  276.     public static final String non_positive_rational_numbers_regexp = "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$";      
  277.      
  278.     /**     
  279.      *     
  280.      * 匹配負浮點數     
  281.      *     
  282.      */     
  283.     public static final String negative_rational_numbers_regexp = "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)
    |([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"
    ;      
  284.      
  285.     /**     
  286.      *     
  287.      * 匹配浮點數     
  288.      *     
  289.      */     
  290.     public static final String rational_numbers_regexp = "^(-?\\d+)(\\.\\d+)?$";      
  291.      
  292.     /**     
  293.      *     
  294.      * 匹配由26個英文字母組成的字符串     
  295.      *     
  296.      */     
  297.     public static final String letter_regexp = "^[A-Za-z]+$";      
  298.      
  299.     /**     
  300.      *     
  301.      * 匹配由26個英文字母的大寫組成的字符串     
  302.      *     
  303.      */     
  304.     public static final String upward_letter_regexp = "^[A-Z]+$";      
  305.      
  306.     /**     
  307.      *     
  308.      * 匹配由26個英文字母的小寫組成的字符串     
  309.      *     
  310.      */     
  311.     public static final String lower_letter_regexp = "^[a-z]+$";      
  312.      
  313.     /**     
  314.      *     
  315.      * 匹配由數字和26個英文字母組成的字符串     
  316.      *     
  317.      */     
  318.     public static final String letter_number_regexp = "^[A-Za-z0-9]+$";      
  319.      
  320.     /**     
  321.      *     
  322.      * 匹配由數字、26個英文字母或者下劃線組成的字符串     
  323.      *     
  324.      */     
  325.     public static final String letter_number_underline_regexp = "^\\w+$";      
  326.      
  327.     /**     
  328.      * 添加正規表達式 (以key->value的形式存儲)     
  329.      *     
  330.      * @param regexpName     
  331.      *            該正規表達式名稱 `     
  332.      * @param regexp     
  333.      *            該正規表達式內容     
  334.      */     
  335.     public void putRegexpHash(String regexpName, String regexp)      
  336.     {      
  337.         regexpHash.put(regexpName, regexp);      
  338.     }      
  339.      
  340.     /**     
  341.      * 得到正規表達式內容 (通過key名提取出value[正規表達式內容])     
  342.      *     
  343.      * @param regexpName     
  344.      *            正規表達式名稱     
  345.      *     
  346.      * @return 正規表達式內容     
  347.      */     
  348.     public String getRegexpHash(String regexpName)      
  349.     {      
  350.         if (regexpHash.get(regexpName) != null)      
  351.         {      
  352.             return ((String) regexpHash.get(regexpName));      
  353.         }      
  354.         else     
  355.         {      
  356.             System.out.println("在regexpHash中沒有此正規表達式");      
  357.             return "";      
  358.         }      
  359.     }      
  360.      
  361.     /**     
  362.      * 清除正規表達式存放單元     
  363.      */     
  364.     public void clearRegexpHash()      
  365.     {      
  366.         regexpHash.clear();      
  367.         return;      
  368.     }      
  369.      
  370.     /**     
  371.      * 大小寫敏感的正規表達式批配     
  372.      *     
  373.      * @param source     
  374.      *            批配的源字符串     
  375.      *     
  376.      * @param regexp     
  377.      *            批配的正規表達式     
  378.      *     
  379.      * @return 如果源字符串符合要求返回真,否則返回假 如:  Regexp.isHardRegexpValidate("ygj@suncer.com.cn",email_regexp) 返回真     
  380.      */     
  381.     public static boolean isHardRegexpValidate(String source, String regexp)      
  382.     {      
  383.      
  384.         try     
  385.         {      
  386.             // 用于定義正規表達式對象模板類型      
  387.             PatternCompiler compiler = new Perl5Compiler();      
  388.      
  389.             // 正規表達式比較批配對象      
  390.             PatternMatcher matcher = new Perl5Matcher();      
  391.      
  392.             // 實例大小大小寫敏感的正規表達式模板      
  393.             Pattern hardPattern = compiler.compile(regexp);      
  394.      
  395.             // 返回批配結果      
  396.             return matcher.contains(source, hardPattern);      
  397.      
  398.         }      
  399.         catch (MalformedPatternException e)      
  400.         {      
  401.             e.printStackTrace();      
  402.      
  403.         }      
  404.         return false;      
  405.     }      

上面的工具類代碼包含了常用Java正則表達式功能,稍加調試就可以滿足實際項目中的需求。

 

【編輯推薦】

  1. Java正則表達式的解釋說明
  2. JAVA正則表達式4種常用的功能
  3. Java正則表達式之group()
  4. Java正則表達式入門
  5. Java正則表達式初學者使用法簡介
責任編輯:佚名 來源: JavaEye
相關推薦

2024-09-14 09:18:14

Python正則表達式

2009-09-16 16:22:04

正則表達式匹配

2016-11-10 16:21:22

Java 正則表達式

2009-02-18 09:48:20

正則表達式Java教程

2018-09-27 15:25:08

正則表達式前端

2020-09-04 09:16:04

Python正則表達式虛擬機

2020-06-28 09:51:01

工具代碼正則表達

2012-01-12 10:21:57

正則表達式

2009-09-16 16:48:03

正則表達式匹配數字

2009-09-16 16:01:57

PHP正則表達式正則表達式的應用

2023-10-07 08:25:09

Java處理工具正則表達式

2009-06-08 16:49:05

Java正則表達式group

2011-07-11 12:33:30

JAVA

2010-03-25 18:25:36

Python正則表達式

2009-09-16 17:15:57

正則表達式引擎

2023-09-13 08:12:45

2022-01-04 11:35:03

Linux Shel正則表達式Linux

2022-03-28 06:19:14

正則表達式開發

2017-05-12 10:47:45

Linux正則表達式程序基礎

2021-01-27 11:34:19

Python正則表達式字符串
點贊
收藏

51CTO技術棧公眾號

国产女人18毛片水18精| 国产99在线 | 亚洲| 3344国产永久在线观看视频| 成人一区二区三区视频在线观看 | 男男成人高潮片免费网站| 日韩在线观看av| 免费黄色在线播放| 日韩新的三级电影| 一区二区三区欧美久久| 欧美日韩精品免费看 | 国产精品亚洲人在线观看| 欧美亚洲激情在线| 国产高潮国产高潮久久久91| 亚洲第一论坛sis| 欧美日韩精品欧美日韩精品一 | 在线视频欧美一区| 天堂中文资源在线观看| 蜜桃一区二区三区在线观看| 久久久久久亚洲精品不卡| 一级黄色录像毛片| 老司机在线精品视频| 欧美老女人在线| 国产肥臀一区二区福利视频| av免费在线免费观看| 久久精品免视看| 国产精品一区二区三区四区五区 | 麻豆国产一区二区| 欧美亚洲第一区| 国产1区2区3区4区| 99精品一区| 国产亚洲美女精品久久久| 国产一级免费片| 成人在线精品| 欧美日韩精品三区| 992kp快乐看片永久免费网址| 91九色在线看| 亚洲综合久久av| 一本—道久久a久久精品蜜桃| 国产最新视频在线| 91视频一区二区| 国产精品免费一区二区三区四区| 国产精品久久久久久久成人午夜| 日韩av中文字幕一区二区| 欧美黄色成人网| 永久免费看黄网站| 婷婷综合久久| 久久躁狠狠躁夜夜爽| 嘿嘿视频在线观看| 精品毛片免费观看| 一本色道久久综合亚洲精品小说 | 午夜精品在线观看| 国产精品99无码一区二区| 你懂的国产精品| 久久综合亚洲社区| 粉嫩av性色av蜜臀av网站| 国产精品99视频| www.亚洲人.com| 男人av资源站| 亚洲精品成人无限看| 日韩视频亚洲视频| 少妇久久久久久被弄高潮| 欧美阿v一级看视频| 欧美超级免费视 在线| 一级黄色录像视频| 好吊一区二区三区| 久久免费精品视频| 五月天激情国产综合婷婷婷| 国产精品免费看| 日本在线观看天堂男亚洲 | 欧美一区二区三区色| 成人性生交视频免费观看| 国产精一区二区| 欧美v日韩v国产v| 日本黄色录像片| 国产在线日韩精品| 日韩综合视频在线观看| 波多野结衣不卡视频| 亚洲精品123区| 日韩男女性生活视频| 在线观看亚洲国产| 国产99久久久久| 久久99蜜桃综合影院免费观看| 牛牛影视精品影视| 中文字幕在线不卡一区二区三区| 免费国产成人看片在线| 欧美aa在线| 欧美日韩一区在线观看| 日本女人性视频| 婷婷精品视频| 久久视频在线看| 999精品在线观看| 18啪啪污污免费网站| 中文字幕亚洲精品乱码| 91tv亚洲精品香蕉国产一区7ujn| 91视频在线视频| 国产一区二区三区黄视频 | 成人在线视频电影| 日本v片在线免费观看| 国产精品久久久久久久第一福利 | 国产美女情趣调教h一区二区| 懂色av中文一区二区三区天美 | 成人av在线播放网站| 日韩中文字幕av在线| 日本动漫同人动漫在线观看| 色8久久精品久久久久久蜜| 999久久久精品视频| 少妇久久久久| 欧美成人全部免费| 五月天激情四射| 国产成人在线视频免费播放| 日韩精品久久久毛片一区二区| 午夜在线激情影院| 欧美丝袜自拍制服另类| 国产真实乱人偷精品| 99久久影视| 国产成人在线视频| 香蕉久久一区二区三区| 综合久久国产九一剧情麻豆| 熟女人妇 成熟妇女系列视频| 视频一区日韩| 久久久精品久久| 懂色av蜜臀av粉嫩av喷吹| 成人av中文字幕| www国产无套内射com| 久久亚洲国产精品尤物| 亚洲人成网站999久久久综合| 久久久久久久久久久久久久免费看| 麻豆一区二区三区| 欧美中日韩免费视频| 日韩精品美女| 亚洲精品国产精品国自产在线| 久久久久久久蜜桃| 国产麻豆精品在线| 无码人妻aⅴ一区二区三区日本| 欧美性理论片在线观看片免费| 亚洲精品久久久一区二区三区| 欧美日韩免费一区二区| 韩日av一区二区| 亚洲图片欧洲图片日韩av| 欧美在线va视频| 国产亚洲aⅴaaaaaa毛片| 在线观看免费av片| 26uuu亚洲综合色| 国产午夜福利视频在线观看| 日韩大尺度在线观看| 国模叶桐国产精品一区| 蜜臀av午夜精品| 亚洲va欧美va人人爽午夜| 久久久男人的天堂| 夜夜爽av福利精品导航| 精品在线视频一区二区| 欧亚av在线| 亚洲片在线资源| 中文字幕精品无| 国产免费久久精品| www.超碰97.com| 1024精品久久久久久久久| 91免费看片网站| 成人免费看片| 精品国产一区久久| 国产精品100| 欧美一级做一级爱a做片性| 国产一区导航| 精品欧美国产| 一区二区三区四区日本视频| 国产一级揄自揄精品视频| 天天天天天天天干| 中文字幕在线不卡视频| 欧美丰满熟妇bbb久久久| 亚洲精品人人| 日韩福利二区| 成人51免费| 久久久视频在线| 青青草免费在线| 欧美性受极品xxxx喷水| 久艹在线观看视频| 波多野洁衣一区| 日韩精品无码一区二区三区免费 | 高清不卡一区二区在线| 高清在线观看免费| 日韩免费av| dy888夜精品国产专区| 忘忧草在线日韩www影院| 中文字幕亚洲一区二区三区| a视频免费在线观看| 无码av免费一区二区三区试看| 手机av免费看| 国内欧美视频一区二区| 青青草国产精品视频| 精品美女在线视频| 99c视频在线| 欧美日韩免费观看视频| 欧美国产极速在线| 免费在线超碰| 日韩欧美国产高清| 精品一区二三区| 亚洲一区二区三区在线播放| 69视频在线观看免费| 国产成人av在线影院| 手机看片福利盒子久久| 欧美日韩hd| 日日夜夜精品网站| 国产精品一区二区中文字幕| 国产精品视频内| 三级在线看中文字幕完整版| 日韩中文字幕免费视频| 日韩美女一级视频| 日韩欧美一区二区三区在线| 五月激情丁香网| 亚洲电影第三页| 欧美成人三级在线观看| 欧美国产精品中文字幕| 国产一级二级视频| 国产美女精品一区二区三区| 色七七在线观看| 国产欧美精品久久| 青青在线视频免费观看| 欧美激情777| 日韩福利一区二区三区| 欧美精品国产白浆久久久久| 444亚洲人体| 电影91久久久| 国产欧美日韩中文| 播放一区二区| 国产不卡视频在线| 小早川怜子影音先锋在线观看| 精品中文字幕乱| 成人日韩欧美| 久久精品在线视频| 欧美18一19xxx性| 中日韩美女免费视频网站在线观看 | 日韩电影免费在线看| 国产中文字幕在线免费观看| 亚洲成人直播| www.亚洲视频.com| 狠狠噜噜久久| 青春草国产视频| 国产精品观看| 男人天堂a在线| 亚洲激情另类| 欧美极品欧美精品欧美| 亚洲国内精品| www..com日韩| 亚洲精选91| 99精品人妻少妇一区二区| 一二三区精品| 国产超级av在线| 日韩和欧美的一区| 九九热免费精品视频| 男人的j进女人的j一区| 污污的视频免费| 精品写真视频在线观看| 中文字幕第66页| 国产美女av一区二区三区| 中文字幕第10页| 成人精品一区二区三区四区| 亚洲激情 欧美| 91免费看`日韩一区二区| 中文字幕一二三四区| 国产色综合一区| 国产福利在线导航| 亚洲激情第一区| 亚洲天堂日韩av| 色综合av在线| 国产一区二区网站| 欧美不卡123| 三级在线视频| 影音先锋欧美精品| a视频在线播放| 久久男人的天堂| 日韩电影网站| 成人在线视频网站| 精品精品国产三级a∨在线| 九色91国产| 色喇叭免费久久综合网| 亚洲色婷婷久久精品av蜜桃| 国产欧美日韩一级| 欧美日韩中文不卡| 国产99精品国产| 天天躁日日躁aaaxxⅹ| 亚洲天堂久久久久久久| 日本系列第一页| 欧美性感一类影片在线播放| 精品国产av一区二区三区| 日韩电影免费观看中文字幕| 97电影在线观看| 欧美激情aaaa| 亚洲综合av一区二区三区| 亚洲自拍偷拍区| 国产99久久精品一区二区300| 手机在线视频你懂的| 日韩午夜一区| 91aaa精品| 久久久三级国产网站| 九九视频在线观看| 欧美性大战xxxxx久久久| 丰满人妻一区二区三区免费| 国产一区二区三区毛片| 成人超碰在线| 成人免费在线网址| 女厕嘘嘘一区二区在线播放| 成人黄色片免费| 麻豆一区二区三区| 欧美多人猛交狂配| 亚洲一区二区三区中文字幕在线 | 欧美精品一区二区三区四区| 国产精品毛片一区二区三区四区| 欧美激情免费看| 色狠狠一区二区三区| 久久综合九色综合网站| 欧美黄色免费| 手机免费av片| 国产午夜精品一区二区三区四区| 精品肉丝脚一区二区三区| 欧美日韩一区 二区 三区 久久精品| 三级网站免费观看| 久久成人亚洲精品| 欧洲亚洲精品久久久久| 日本一区二区三区视频在线观看 | 国产在线超碰| 欧洲亚洲女同hd| 精品亚洲精品| 欧美中日韩在线| 国产一区二区不卡| 免费一级suv好看的国产网站 | 国模叶桐国产精品一区| 亚洲1区在线| 99热都是精品| 九九视频精品免费| 国产又粗又长又硬| 欧洲精品一区二区| av在线播放网| 国产精品99久久久久久久久久久久| 欧美激情99| 各处沟厕大尺度偷拍女厕嘘嘘| 成人aa视频在线观看| 久久综合久久鬼| 日韩视频免费观看高清在线视频| 麻豆传媒视频在线| 91热福利电影| 中文字幕日韩欧美精品高清在线| 91丨九色丨蝌蚪| 中文字幕一区二区三区色视频| 最好看的日本字幕mv视频大全| 亚洲日本中文字幕| 韩国精品主播一区二区在线观看| 欧美日韩国产综合视频在线| 日韩精品成人一区二区在线| 亚洲午夜久久久久久久国产| 欧美在线|欧美| 麻豆tv入口在线看| 国产福利久久精品| 亚洲作爱视频| 亚洲最大成人综合网| 欧美日韩一区二区在线观看视频| 伊人在线视频| 91视频国产精品| 韩日视频一区| 中文字幕国产综合| 欧美人妖巨大在线| 欧美女同一区| 蜜桃视频日韩| 久久精品99久久久| 91视频免费在线看| 日韩激情视频在线| 99久久伊人| 久久综合亚洲精品| 久久在线免费观看| 一卡二卡三卡在线观看| 欧美日韩国产第一页| 欧美国产不卡| 欧美午夜aaaaaa免费视频| 亚洲柠檬福利资源导航| 日韩专区第一页| 国产精品福利小视频| 欧美大片一区| 国产亚洲无码精品| 欧美理论电影在线| 九色porny丨入口在线| 亚洲精品日韩精品| 成人免费视频caoporn| 99re热视频| 久久久之久亚州精品露出| 精品国产中文字幕第一页| 亚洲国产综合av| 色综合久久久久综合| 超碰在线免费播放| 欧美精品欧美精品| 国产一区二区看久久| 国产精品100| 欧美尺度大的性做爰视频| 亚欧日韩另类中文欧美| 亚洲图片 自拍偷拍| 欧美性xxxxx| 中中文字幕av在线| 亚洲一区二区高清视频| 99久久免费视频.com| 国产乱码精品一区二区| 青青久久av北条麻妃黑人| 综合视频在线|