校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > iOS中使用正則表達(dá)式NSRegularExpression 來(lái)驗(yàn)證textfiled輸入的內(nèi)容

iOS中使用正則表達(dá)式NSRegularExpression 來(lái)驗(yàn)證textfiled輸入的內(nèi)容

熱門(mén)標(biāo)簽:地圖標(biāo)注字母的軟件 地圖標(biāo)注商戶中心要收錢(qián)多少 線上教育ai外呼系統(tǒng) css百度地圖標(biāo)注位置顯示 實(shí)用地圖標(biāo)注app 鄂州人工智能電銷(xiāo)機(jī)器人軟件 400免費(fèi)電話去哪申請(qǐng) 菏澤智能ai電銷(xiāo)機(jī)器人銷(xiāo)售公司 宿遷智能外呼系統(tǒng)供應(yīng)商

何謂正則表達(dá)式

正則表達(dá)式(regular expression),在計(jì)算機(jī)科學(xué)中,是指一個(gè)用來(lái)描述或者匹配一系列符合某個(gè)句法規(guī)則的字符串的單個(gè)字符串。在很多文本編輯器或其他工具里,正則表達(dá)式通常被用來(lái)檢索和/或替換那些符合某個(gè)模式的文本內(nèi)容。正則表達(dá)式這個(gè)概念最初是由Unix中的工具軟件(例如sed和grep)普及開(kāi)的。正則表達(dá)式通常縮寫(xiě)成“regex”,單數(shù)有regexp、regex,復(fù)數(shù)有regexps、regexes、regexen。

正則表達(dá)式組成

正則表達(dá)式有兩種類(lèi)型的字符組成

第一種:用來(lái)匹配的字符,或者叫常規(guī)字符

第二種:控制字符或具有特殊含義的元字符

iphone 4.0以后就開(kāi)始支持正則表達(dá)式的使用了,在ios4.0中正則表達(dá)式的使用是使用NSRegularExpression類(lèi)來(lái)調(diào)用。

1. 下面一個(gè)簡(jiǎn)單的使用正則表達(dá)式的一個(gè)例子:NSRegularExpression 類(lèi)

-(void)parseString{
//組裝一個(gè)字符串,需要把里面的網(wǎng)址解析出來(lái)
NSString *urlString=@"sfdsfhttp://www.baidu.com";
//NSRegularExpression類(lèi)里面調(diào)用表達(dá)的方法需要傳遞一個(gè)NSError的參數(shù)。下面定義一個(gè)
 NSError *error;
//http+:[^\\s]* 這個(gè)表達(dá)式是檢測(cè)一個(gè)網(wǎng)址的。
  NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"http+:[^\\s]*" options:0 error:error];
  if (regex != nil) {
  NSTextCheckingResult *firstMatch=[regex firstMatchInString:urlString options:0range:NSMakeRange(0, [urlString length])];
  if (firstMatch) {
   NSRange resultRange = [firstMatch rangeAtIndex:0]; //等同于 firstMatch.range --- 相匹配的范圍
   //從urlString當(dāng)中截取數(shù)據(jù)
  NSString *result=[urlString substringWithRange:resultRange];
  //輸出結(jié)果
  NSLog(@"%@",result);
  }
  }
}

2.使用正則表達(dá)式來(lái)判斷

//初始化一個(gè)NSRegularExpression 對(duì)象,并設(shè)置檢測(cè)對(duì)象范圍為:0-9 
NSRegularExpression *regex2 = [NSRegularExpression regularExpressionWithPattern:@"^[0-9]*$" options:0 error:nil];
    if (regex2)
    {//對(duì)象進(jìn)行匹配
       NSTextCheckingResult *result2 = [regex2 firstMatchInString:textField.text options:0 range:NSMakeRange(0, [textField.text length])];
      if (result2) {
      }
}

1.判斷郵箱格式是否正確的代碼:NSPredicatel類(lèi)

//利用正則表達(dá)式驗(yàn)證

NSPredicatel類(lèi):主要用來(lái)指定過(guò)濾器的條件,該對(duì)象可以準(zhǔn)確的描述所需條件,對(duì)每個(gè)對(duì)象通過(guò)謂詞進(jìn)行篩選,判斷是否與條件相匹配。謂詞是指在計(jì)算機(jī)中表示計(jì)算真假值的函數(shù)。原理和用法都類(lèi)似于SQL查詢中的where,作用相當(dāng)于數(shù)據(jù)庫(kù)的過(guò)濾取。主要用于從集合中分揀出符合條件的對(duì)象,也可以用于字符串的正則匹配

-(BOOL)isValidateEmail:(NSString *)email
{
  NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
  NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",emailRegex];
  return [emailTest evaluateWithObject:email];
}

2.匹配9-15個(gè)由字母/數(shù)字組成的字符串的正則表達(dá)式:

  NSString * regex = @"^[A-Za-z0-9]{9,15}$";
  NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
  BOOL isMatch = [pred evaluateWithObject:txtfldPhoneNumber.text];

Cocoa用NSPredicate描述查詢的方式,原理類(lèi)似于在數(shù)據(jù)庫(kù)中進(jìn)行查詢

用BETWEEN,IN,BEGINWITH,ENDWITH,CONTAINS,LIKE這些謂詞來(lái)構(gòu)造NSPredicate,必要的時(shí)候使用SELF直接對(duì)自己進(jìn)行匹配

//基本的查詢 
NSPredicate *predicate; 
predicate = [NSPredicate predicateWithFormat: @"name == 'Herbie'"]; 
  BOOL match = [predicate evaluateWithObject: car]; 
  NSLog (@"%s", (match) ? "YES" : "NO"); 
//在整個(gè)cars里面循環(huán)比較 
  predicate = [NSPredicate predicateWithFormat: @"engine.horsepower > 150"]; 
  NSArray *cars = [garage cars]; 
  for (Car *car in [garage cars]) { 
    if ([predicate evaluateWithObject: car]) { 
      NSLog (@"%@", car.name); 
    } 
  } 
//輸出完整的信息 
  predicate = [NSPredicate predicateWithFormat: @"engine.horsepower > 150"]; 
  NSArray *results; 
  results = [cars filteredArrayUsingPredicate: predicate]; 
  NSLog (@"%@", results); 
//含有變量的謂詞 
  NSPredicate *predicateTemplate = [NSPredicate predicateWithFormat:@"name == $NAME"]; 
  NSDictionary *varDict; 
  varDict = [NSDictionary dictionaryWithObjectsAndKeys: 
        @"Herbie", @"NAME", nil]; 
  predicate = [predicateTemplate predicateWithSubstitutionVariables: varDict]; 
  NSLog(@"SNORGLE: %@", predicate); 
  match = [predicate evaluateWithObject: car]; 
 NSLog (@"%s", (match) ? "YES" : "NO"); 
//注意不能使用$VARIABLE作為路徑名,因?yàn)樗荡碇?
//謂詞字符竄還支持c語(yǔ)言中一些常用的運(yùn)算符 
  predicate = [NSPredicate predicateWithFormat: 
         @"(engine.horsepower > 50) AND (engine.horsepower  200)"]; 
  results = [cars filteredArrayUsingPredicate: predicate]; 
  NSLog (@"oop %@", results); 
  predicate = [NSPredicate predicateWithFormat: @"name  'Newton'"]; 
  results = [cars filteredArrayUsingPredicate: predicate]; 
  NSLog (@"%@", [results valueForKey: @"name"]); 
//強(qiáng)大的數(shù)組運(yùn)算符 
  predicate = [NSPredicate predicateWithFormat: 
         @"engine.horsepower BETWEEN { 50, 200 }"]; 
  results = [cars filteredArrayUsingPredicate: predicate]; 
  NSLog (@"%@", results); 
  NSArray *betweens = [NSArray arrayWithObjects: 
             [NSNumber numberWithInt: 50], [NSNumber numberWithInt: 200], nil]; 
  predicate = [NSPredicate predicateWithFormat: @"engine.horsepower BETWEEN %@", betweens]; 
  results = [cars filteredArrayUsingPredicate: predicate]; 
  NSLog (@"%@", results); 
  predicateTemplate = [NSPredicate predicateWithFormat: @"engine.horsepower BETWEEN $POWERS"]; 
  varDict = [NSDictionary dictionaryWithObjectsAndKeys: betweens, @"POWERS", nil]; 
  predicate = [predicateTemplate predicateWithSubstitutionVariables: varDict]; 
  results = [cars filteredArrayUsingPredicate: predicate]; 
  NSLog (@"%@", results); 
//IN運(yùn)算符 
  predicate = [NSPredicate predicateWithFormat: @"name IN { 'Herbie', 'Snugs', 'Badger', 'Flap' }"]; 
  results = [cars filteredArrayUsingPredicate: predicate]; 
  NSLog (@"%@", [results valueForKey: @"name"]); 
  predicate = [NSPredicate predicateWithFormat: @"SELF.name IN { 'Herbie', 'Snugs', 'Badger', 'Flap' }"]; 
  results = [cars filteredArrayUsingPredicate: predicate]; 
  NSLog (@"%@", [results valueForKey: @"name"]); 
  names = [cars valueForKey: @"name"]; 
  predicate = [NSPredicate predicateWithFormat: @"SELF IN { 'Herbie', 'Snugs', 'Badger', 'Flap' }"]; 
  results = [names filteredArrayUsingPredicate: predicate];//這里限制了SELF的范圍 
  NSLog (@"%@", results); 
//BEGINSWITH,ENDSWITH,CONTAINS 
//附加符號(hào),[c],[d],[cd],c表示不區(qū)分大小寫(xiě),d表示不區(qū)分發(fā)音字符,cd表示什么都不區(qū)分 
  predicate = [NSPredicate predicateWithFormat: @"name BEGINSWITH 'Bad'"]; 
  results = [cars filteredArrayUsingPredicate: predicate]; 
  NSLog (@"%@", results); 
  predicate = [NSPredicate predicateWithFormat: @"name BEGINSWITH 'HERB'"]; 
  results = [cars filteredArrayUsingPredicate: predicate]; 
  NSLog (@"%@", results); 
  predicate = [NSPredicate predicateWithFormat: @"name BEGINSWITH[cd] 'HERB'"]; 
  results = [cars filteredArrayUsingPredicate: predicate]; 
  NSLog (@"%@", results); 
//LIKE運(yùn)算符(通配符) 
  predicate = [NSPredicate predicateWithFormat: @"name LIKE[cd] '*er*'"]; 
  results = [cars filteredArrayUsingPredicate: predicate]; 
  NSLog (@"%@", results); 
  predicate = [NSPredicate predicateWithFormat: @"name LIKE[cd] '???er*'"]; 
  results = [cars filteredArrayUsingPredicate: predicate]; 
  NSLog (@"%@", results); 
//基本的查詢
NSPredicate *predicate;
predicate = [NSPredicate predicateWithFormat: @"name == 'Herbie'"];
  BOOL match = [predicate evaluateWithObject: car];
  NSLog (@"%s", (match) ? "YES" : "NO");
//在整個(gè)cars里面循環(huán)比較
  predicate = [NSPredicate predicateWithFormat: @"engine.horsepower > 150"];
  NSArray *cars = [garage cars];
  for (Car *car in [garage cars]) {
    if ([predicate evaluateWithObject: car]) {
      NSLog (@"%@", car.name);
    }
  }
//輸出完整的信息
  predicate = [NSPredicate predicateWithFormat: @"engine.horsepower > 150"];
  NSArray *results;
  results = [cars filteredArrayUsingPredicate: predicate];
  NSLog (@"%@", results);
//含有變量的謂詞
  NSPredicate *predicateTemplate = [NSPredicate predicateWithFormat:@"name == $NAME"];
  NSDictionary *varDict;
  varDict = [NSDictionary dictionaryWithObjectsAndKeys:
        @"Herbie", @"NAME", nil];
  predicate = [predicateTemplate predicateWithSubstitutionVariables: varDict];
  NSLog(@"SNORGLE: %@", predicate);
  match = [predicate evaluateWithObject: car];
 NSLog (@"%s", (match) ? "YES" : "NO");
//注意不能使用$VARIABLE作為路徑名,因?yàn)樗荡碇?
//謂詞字符竄還支持c語(yǔ)言中一些常用的運(yùn)算符
  predicate = [NSPredicate predicateWithFormat:
         @"(engine.horsepower > 50) AND (engine.horsepower  200)"];
  results = [cars filteredArrayUsingPredicate: predicate];
  NSLog (@"oop %@", results);
  predicate = [NSPredicate predicateWithFormat: @"name  'Newton'"];
  results = [cars filteredArrayUsingPredicate: predicate];
  NSLog (@"%@", [results valueForKey: @"name"]);
//強(qiáng)大的數(shù)組運(yùn)算符
  predicate = [NSPredicate predicateWithFormat:
         @"engine.horsepower BETWEEN { 50, 200 }"];
  results = [cars filteredArrayUsingPredicate: predicate];
  NSLog (@"%@", results);
  NSArray *betweens = [NSArray arrayWithObjects:
             [NSNumber numberWithInt: 50], [NSNumber numberWithInt: 200], nil];
  predicate = [NSPredicate predicateWithFormat: @"engine.horsepower BETWEEN %@", betweens];
  results = [cars filteredArrayUsingPredicate: predicate];
  NSLog (@"%@", results);
  predicateTemplate = [NSPredicate predicateWithFormat: @"engine.horsepower BETWEEN $POWERS"];
  varDict = [NSDictionary dictionaryWithObjectsAndKeys: betweens, @"POWERS", nil];
  predicate = [predicateTemplate predicateWithSubstitutionVariables: varDict];
  results = [cars filteredArrayUsingPredicate: predicate];
  NSLog (@"%@", results);
//IN運(yùn)算符
  predicate = [NSPredicate predicateWithFormat: @"name IN { 'Herbie', 'Snugs', 'Badger', 'Flap' }"];
  results = [cars filteredArrayUsingPredicate: predicate];
  NSLog (@"%@", [results valueForKey: @"name"]);
  predicate = [NSPredicate predicateWithFormat: @"SELF.name IN { 'Herbie', 'Snugs', 'Badger', 'Flap' }"];
  results = [cars filteredArrayUsingPredicate: predicate];
  NSLog (@"%@", [results valueForKey: @"name"]);
  names = [cars valueForKey: @"name"];
  predicate = [NSPredicate predicateWithFormat: @"SELF IN { 'Herbie', 'Snugs', 'Badger', 'Flap' }"];
  results = [names filteredArrayUsingPredicate: predicate];//這里限制了SELF的范圍
  NSLog (@"%@", results);
//BEGINSWITH,ENDSWITH,CONTAINS
//附加符號(hào),[c],[d],[cd],c表示不區(qū)分大小寫(xiě),d表示不區(qū)分發(fā)音字符,cd表示什么都不區(qū)分
  predicate = [NSPredicate predicateWithFormat: @"name BEGINSWITH 'Bad'"];
  results = [cars filteredArrayUsingPredicate: predicate];
  NSLog (@"%@", results);
  predicate = [NSPredicate predicateWithFormat: @"name BEGINSWITH 'HERB'"];
  results = [cars filteredArrayUsingPredicate: predicate];
  NSLog (@"%@", results);
  predicate = [NSPredicate predicateWithFormat: @"name BEGINSWITH[cd] 'HERB'"];
  results = [cars filteredArrayUsingPredicate: predicate];
  NSLog (@"%@", results);
//LIKE運(yùn)算符(通配符)
  predicate = [NSPredicate predicateWithFormat: @"name LIKE[cd] '*er*'"];
  results = [cars filteredArrayUsingPredicate: predicate];
  NSLog (@"%@", results);
  predicate = [NSPredicate predicateWithFormat: @"name LIKE[cd] '???er*'"];
  results = [cars filteredArrayUsingPredicate: predicate];
  NSLog (@"%@", results);

以上就是小編給大家分享的iOS中使用正則表達(dá)式NSRegularExpression 來(lái)驗(yàn)證textfiled輸入的內(nèi)容,希望大家喜歡。

您可能感興趣的文章:
  • iOS App開(kāi)發(fā)中Objective-C使用正則表達(dá)式進(jìn)行匹配的方法
  • 正則表達(dá)式在IOS中的應(yīng)用及IOS中三種正則表達(dá)式的使用與比較
  • iOS 正則表達(dá)式判斷手機(jī)號(hào)碼、固話
  • iOS 正則表達(dá)式判斷純數(shù)字及匹配11位手機(jī)號(hào)碼的方法
  • IOS開(kāi)發(fā)常用的正則表達(dá)式
  • iOS 中使用正則表達(dá)式判斷身份證格式及銀行卡號(hào)格式是否正確(推薦)
  • iOS正則表達(dá)式驗(yàn)證手機(jī)號(hào)、郵箱、身份證號(hào)等
  • ios利用正則表達(dá)式判斷手機(jī)號(hào)碼格式是否正確的實(shí)例
  • Objective-C中利用正則去除非數(shù)字字母漢字方法實(shí)例

標(biāo)簽:三亞 池州 梅州 六安 綿陽(yáng) 咸陽(yáng) 鞍山 恩施

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《iOS中使用正則表達(dá)式NSRegularExpression 來(lái)驗(yàn)證textfiled輸入的內(nèi)容》,本文關(guān)鍵詞  iOS,中,使用,正則,表達(dá)式,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《iOS中使用正則表達(dá)式NSRegularExpression 來(lái)驗(yàn)證textfiled輸入的內(nèi)容》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于iOS中使用正則表達(dá)式NSRegularExpression 來(lái)驗(yàn)證textfiled輸入的內(nèi)容的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产一二三精品| 欧美亚洲愉拍一区二区| 欧美在线啊v一区| 国产精品动漫网站| 国内精品写真在线观看| 欧美精品久久久久久久久老牛影院| 久久精品夜色噜噜亚洲a∨| 日本女优在线视频一区二区| 久久99久国产精品黄毛片色诱| 91婷婷韩国欧美一区二区| 久久综合久久综合亚洲| 亚洲午夜av在线| 懂色av一区二区三区免费观看| 精品91自产拍在线观看一区| 婷婷夜色潮精品综合在线| 成人av网站在线观看| 国产精品免费视频网站| 不卡一区中文字幕| 1024成人网色www| 欧美性受xxxx黑人xyx| 亚洲一区二区视频在线观看| 懂色av一区二区在线播放| 国产精品午夜电影| 欧洲精品视频在线观看| 亚洲国产你懂的| 精品国内二区三区| 国产麻豆视频一区二区| 国产精品乱码一区二三区小蝌蚪| 国产精品123区| 亚洲已满18点击进入久久| 日韩免费性生活视频播放| 九九精品视频在线看| 国产精品国产a级| 欧美色国产精品| 精品一区二区日韩| 亚洲欧美日韩国产另类专区| 99精品桃花视频在线观看| 亚洲午夜激情av| 国产日韩欧美a| 制服丝袜中文字幕亚洲| 国产成人精品免费在线| 五月天亚洲精品| 亚洲天堂成人网| 久久综合九色欧美综合狠狠| 在线观看国产91| 国产成人综合在线| 免费国产亚洲视频| 一区二区三区不卡视频在线观看 | 亚洲欧洲精品一区二区三区| 成人美女视频在线观看| 偷拍自拍另类欧美| 悠悠色在线精品| 国产精品久线在线观看| 久久综合999| 精品国产凹凸成av人导航| 欧美疯狂做受xxxx富婆| 日本高清免费不卡视频| 成人av影视在线观看| 久久精品国产999大香线蕉| 亚洲亚洲精品在线观看| 一区二区三区四区在线免费观看 | 91精品国产欧美一区二区| 欧美色电影在线| 欧美日韩aaa| 欧美日产在线观看| 成人av网址在线观看| caoporn国产一区二区| 国产激情视频一区二区在线观看| 国产精品影视天天线| 丁香网亚洲国际| 色国产精品一区在线观看| 91在线免费视频观看| 91丨九色丨蝌蚪丨老版| 色综合一区二区| 99精品欧美一区二区三区小说| 成人毛片老司机大片| 成人av免费在线播放| 91理论电影在线观看| 555夜色666亚洲国产免| 欧美大片免费久久精品三p| 国产亚洲欧美一级| 国产丝袜欧美中文另类| 亚洲同性同志一二三专区| 97久久精品人人澡人人爽| 欧美日韩免费观看一区二区三区 | 欧美图片一区二区三区| 国产精品丝袜91| 男人操女人的视频在线观看欧美| 91丨porny丨首页| 国产亚洲一区二区三区| 韩国欧美国产一区| 日韩一区二区免费高清| 视频一区在线视频| 欧美亚洲禁片免费| 亚洲国产成人91porn| 色婷婷精品久久二区二区蜜臀av | 国产精品免费视频观看| 国产乱子伦一区二区三区国色天香| 欧美三级日韩在线| 亚洲午夜免费福利视频| 欧美午夜精品一区二区蜜桃| 亚洲九九爱视频| 欧美少妇xxx| 首页欧美精品中文字幕| 日韩一区二区在线观看| 国内外精品视频| 精品国产乱码久久久久久影片| 精品亚洲国内自在自线福利| 久久综合狠狠综合久久综合88 | 欧美在线免费观看亚洲| 亚洲一区二区欧美| 日韩一区二区三区精品视频 | 亚洲欧美激情一区二区| 99精品偷自拍| 午夜视频一区在线观看| 欧美一区二区三区视频免费 | 亚洲高清久久久| 日韩免费视频一区| 97se狠狠狠综合亚洲狠狠| 亚洲一区二区三区国产| 亚洲精品在线观看网站| 成人一区二区三区中文字幕| 亚洲午夜激情网页| 久久精品亚洲麻豆av一区二区| 欧美中文字幕一区| 国产成人亚洲综合a∨婷婷图片| 亚洲国产人成综合网站| 国产亚洲自拍一区| 在线成人免费观看| 99久精品国产| 国产剧情在线观看一区二区| 亚洲一区二区三区四区中文字幕| 久久亚洲二区三区| 欧美裸体bbwbbwbbw| 一本大道久久a久久综合| 韩国三级中文字幕hd久久精品| 一区二区三区精品久久久| 国产精品女上位| 精品福利一区二区三区| 91精品国产色综合久久不卡蜜臀 | 精品国内二区三区| 欧美精品一二三| 欧美猛男超大videosgay| 97久久人人超碰| 成人精品免费网站| 国产福利一区二区| 国产精品系列在线播放| 精品无码三级在线观看视频| 蜜臀av性久久久久av蜜臀妖精| 天天影视色香欲综合网老头| 五月天亚洲婷婷| 麻豆精品一区二区综合av| 老司机精品视频导航| 极品美女销魂一区二区三区 | 91香蕉视频mp4| 色88888久久久久久影院按摩| 91激情在线视频| 欧美日韩成人高清| 精品欧美乱码久久久久久1区2区| 日韩免费视频线观看| 国产午夜亚洲精品理论片色戒| 欧美激情一区二区三区在线| 国产精品久久久爽爽爽麻豆色哟哟| 成人免费在线观看入口| 亚洲一区二区免费视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品亚洲人在线观看| 99在线精品观看| 欧美大片一区二区三区| 国产精品丝袜91| 日韩电影在线免费看| 成人激情动漫在线观看| 91精品国产色综合久久ai换脸 | 久久这里只有精品6| 一区二区在线观看视频在线观看| 久久国产精品露脸对白| 色乱码一区二区三区88| 精品盗摄一区二区三区| 亚洲欧美日韩在线播放| 国产一区二区免费视频| 欧美日韩在线不卡| 国产精品不卡在线观看| 麻豆精品视频在线| 538在线一区二区精品国产| 亚洲人成7777| 99久久国产综合精品色伊| 国产亚洲欧美激情| 精品一区二区三区蜜桃| 日韩精品在线一区二区| 亚洲国产美女搞黄色| 欧美亚洲免费在线一区| 亚洲三级在线看| 一本久道久久综合中文字幕| 国产精品青草综合久久久久99| 国内精品伊人久久久久av一坑 | 成人精品免费网站| 国产女同互慰高潮91漫画| 国产高清在线精品| 国产精品久久久久一区二区三区| 狠狠久久亚洲欧美|