婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > iOS中使用正則表達式NSRegularExpression 來驗證textfiled輸入的內容

iOS中使用正則表達式NSRegularExpression 來驗證textfiled輸入的內容

熱門標簽:地圖標注字母的軟件 地圖標注商戶中心要收錢多少 線上教育ai外呼系統 css百度地圖標注位置顯示 實用地圖標注app 鄂州人工智能電銷機器人軟件 400免費電話去哪申請 菏澤智能ai電銷機器人銷售公司 宿遷智能外呼系統供應商

何謂正則表達式

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

正則表達式組成

正則表達式有兩種類型的字符組成

第一種:用來匹配的字符,或者叫常規字符

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

iphone 4.0以后就開始支持正則表達式的使用了,在ios4.0中正則表達式的使用是使用NSRegularExpression類來調用。

1. 下面一個簡單的使用正則表達式的一個例子:NSRegularExpression 類

-(void)parseString{
//組裝一個字符串,需要把里面的網址解析出來
NSString *urlString=@"sfdsfhttp://www.baidu.com";
//NSRegularExpression類里面調用表達的方法需要傳遞一個NSError的參數。下面定義一個
 NSError *error;
//http+:[^\\s]* 這個表達式是檢測一個網址的。
  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當中截取數據
  NSString *result=[urlString substringWithRange:resultRange];
  //輸出結果
  NSLog(@"%@",result);
  }
  }
}

2.使用正則表達式來判斷

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

1.判斷郵箱格式是否正確的代碼:NSPredicatel類

//利用正則表達式驗證

NSPredicatel類:主要用來指定過濾器的條件,該對象可以準確的描述所需條件,對每個對象通過謂詞進行篩選,判斷是否與條件相匹配。謂詞是指在計算機中表示計算真假值的函數。原理和用法都類似于SQL查詢中的where,作用相當于數據庫的過濾取。主要用于從集合中分揀出符合條件的對象,也可以用于字符串的正則匹配

-(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個由字母/數字組成的字符串的正則表達式:

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

Cocoa用NSPredicate描述查詢的方式,原理類似于在數據庫中進行查詢

用BETWEEN,IN,BEGINWITH,ENDWITH,CONTAINS,LIKE這些謂詞來構造NSPredicate,必要的時候使用SELF直接對自己進行匹配

//基本的查詢 
NSPredicate *predicate; 
predicate = [NSPredicate predicateWithFormat: @"name == 'Herbie'"]; 
  BOOL match = [predicate evaluateWithObject: car]; 
  NSLog (@"%s", (match) ? "YES" : "NO"); 
//在整個cars里面循環比較 
  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作為路徑名,因為它值代表值 
//謂詞字符竄還支持c語言中一些常用的運算符 
  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"]); 
//強大的數組運算符 
  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運算符 
  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 
//附加符號,[c],[d],[cd],c表示不區分大小寫,d表示不區分發音字符,cd表示什么都不區分 
  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運算符(通配符) 
  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");
//在整個cars里面循環比較
  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作為路徑名,因為它值代表值
//謂詞字符竄還支持c語言中一些常用的運算符
  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"]);
//強大的數組運算符
  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運算符
  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
//附加符號,[c],[d],[cd],c表示不區分大小寫,d表示不區分發音字符,cd表示什么都不區分
  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運算符(通配符)
  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中使用正則表達式NSRegularExpression 來驗證textfiled輸入的內容,希望大家喜歡。

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

標簽:三亞 池州 梅州 六安 綿陽 咸陽 鞍山 恩施

巨人網絡通訊聲明:本文標題《iOS中使用正則表達式NSRegularExpression 來驗證textfiled輸入的內容》,本文關鍵詞  iOS,中,使用,正則,表達式,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《iOS中使用正則表達式NSRegularExpression 來驗證textfiled輸入的內容》相關的同類信息!
  • 本頁收集關于iOS中使用正則表達式NSRegularExpression 來驗證textfiled輸入的內容的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91丨九色porny丨蝌蚪| 日日夜夜精品免费视频| av电影在线观看一区| 精品一区二区久久| 国产一区二区成人久久免费影院| 国内精品久久久久影院色| 国产乱码精品1区2区3区| 99久久精品国产一区二区三区| 国产成人免费高清| 欧美中文字幕一区二区三区| 欧美色综合影院| 国产精品热久久久久夜色精品三区| 亚洲国产cao| 成人avav影音| 日韩无一区二区| 国产精品欧美一区喷水| 亚洲欧美色一区| 国内精品免费**视频| 色狠狠一区二区三区香蕉| 日韩亚洲欧美高清| 亚洲欧美日韩电影| 国产福利一区二区三区| 午夜av一区二区三区| 精品一区二区三区av| 色美美综合视频| 国产欧美精品国产国产专区| 国产成人精品三级| 亚洲综合色区另类av| 爽好久久久欧美精品| 国内精品在线播放| 99精品久久免费看蜜臀剧情介绍| 久久久久久9999| 精品一区二区免费视频| 制服丝袜日韩国产| 日韩高清不卡一区| 91精品国产福利| 免费在线观看一区二区三区| 欧美久久一二三四区| 图片区日韩欧美亚洲| 欧美丝袜自拍制服另类| 亚洲黄一区二区三区| 欧美性做爰猛烈叫床潮| 一区二区三区产品免费精品久久75| 99riav久久精品riav| 国产农村妇女精品| 国产精品一卡二卡| 国产精品美女久久久久久久网站| 韩国三级电影一区二区| 精品久久久久久久久久久久久久久 | 日本va欧美va瓶| 欧美日韩成人综合在线一区二区| 亚洲免费三区一区二区| 色呦呦一区二区三区| 亚洲精品国产视频| 在线免费观看日韩欧美| 亚洲成人在线网站| 91麻豆精品国产91| 亚洲一区在线观看网站| 久久国产福利国产秒拍| 久久亚区不卡日本| 国产精品夜夜爽| 国产婷婷色一区二区三区在线| 麻豆高清免费国产一区| 国产欧美日韩精品一区| 色哟哟精品一区| 麻豆免费看一区二区三区| 国产精品久久久久久久蜜臀| 欧美日本一区二区在线观看| 国产一区二区不卡在线 | 欧美成人乱码一区二区三区| 国产精品一级在线| 亚洲国产日韩综合久久精品| 久久久亚洲精品一区二区三区| 成人午夜视频福利| 五月天久久比比资源色| 中文字幕一区二区三区在线不卡 | 国产东北露脸精品视频| 亚洲欧美另类久久久精品| 精品国产乱码久久久久久影片| 色综合久久综合网欧美综合网| 亚洲一二三四区| 成人欧美一区二区三区白人 | 日韩av一二三| 一区二区在线免费观看| 国产午夜亚洲精品羞羞网站| 欧美在线观看一二区| 久久99精品久久久久久 | 中文字幕久久午夜不卡| 欧美欧美欧美欧美| 不卡一区在线观看| 国模一区二区三区白浆| 亚洲动漫第一页| 亚洲青青青在线视频| 精品国产一区二区在线观看| 88在线观看91蜜桃国自产| www.亚洲色图.com| 国产精品99久久久久久宅男| 日本成人在线不卡视频| 午夜伦欧美伦电影理论片| 99久久婷婷国产综合精品电影| 精品系列免费在线观看| 日韩一区中文字幕| 在线看不卡av| 在线看国产一区二区| aaa欧美日韩| 91亚洲男人天堂| 91日韩在线专区| 欧美艳星brazzers| 欧美精品免费视频| 精品视频一区 二区 三区| 欧美日韩电影在线播放| 欧美丝袜丝交足nylons图片| 91精品国产综合久久精品麻豆| 欧美区视频在线观看| 久久激情五月婷婷| 国产精品亚洲一区二区三区妖精| 久久91精品久久久久久秒播| 亚洲6080在线| 日韩欧美一级二级| 精品久久一区二区| 久久综合九色综合欧美就去吻| 国产日产欧产精品推荐色| 亚洲男人天堂一区| 欧美一区二区女人| 日韩手机在线导航| 亚洲成人精品在线观看| 国产精品12区| 在线播放日韩导航| 毛片一区二区三区| 中文字幕一区二区三中文字幕| 成人av在线一区二区三区| 美女视频一区二区| 国产精品九色蝌蚪自拍| 午夜视频一区在线观看| 国产一区二区中文字幕| 成人丝袜18视频在线观看| 日韩一级二级三级| 亚洲精品国产品国语在线app| 亚洲天堂免费看| 日本大胆欧美人术艺术动态| 91免费国产在线| 精品国产91久久久久久久妲己| 成人av综合一区| 精品av久久707| 成人欧美一区二区三区| 欧美成人a∨高清免费观看| 亚洲精品高清视频在线观看| 欧美日韩精品福利| 一区二区三区中文在线观看| 日本亚洲天堂网| 欧美三级在线视频| 91麻豆蜜桃一区二区三区| 成人夜色视频网站在线观看| 国产最新精品精品你懂的| 夜色激情一区二区| 欧美成人精品1314www| 欧美日韩精品二区第二页| 欧美日韩综合一区| 色偷偷88欧美精品久久久| 成人免费视频视频在线观看免费| 国产乱人伦偷精品视频不卡| 成人黄色在线看| 欧美日本乱大交xxxxx| 777精品伊人久久久久大香线蕉| 97久久超碰国产精品| eeuss鲁一区二区三区| av电影一区二区| 日韩欧美成人一区二区| 秋霞成人午夜伦在线观看| 91麻豆精品国产综合久久久久久| 欧美挠脚心视频网站| 午夜精品久久久久久久99樱桃| 亚洲人成网站在线| 香蕉乱码成人久久天堂爱免费| 欧美一区二区大片| 欧美精品一区二区三区在线播放| 日本女优在线视频一区二区| 久久精品99久久久| 不卡的电影网站| 91国偷自产一区二区开放时间 | 椎名由奈av一区二区三区| 国产精品福利一区二区三区| 综合激情网...| 51久久夜色精品国产麻豆| 欧美一卡二卡三卡四卡| 久久草av在线| 欧美经典三级视频一区二区三区| 亚洲大尺度视频在线观看| 国产高清亚洲一区| 肉肉av福利一精品导航| 日韩一区二区电影在线| 国产精品亚洲视频| 舔着乳尖日韩一区| 欧美一区二区三区男人的天堂| 国产成a人亚洲| 亚洲精品成人少妇| 精品国产乱码久久| 99综合电影在线视频| 国产一区二区美女| 亚洲一二三专区|