iOS正規表現では、純粋な数字と11桁の携帯電話番号のマッチング方法を判定します。


最初の正規表現を使う 判断する

//       
+ (BOOL)isNumText:(NSString *)str{ 
 NSString * regex  = @"(/^[0-9]*$/)"; 
 NSPredicate * pred  = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; 
 BOOL isMatch   = [pred evaluateWithObject:str]; 
 if (isMatch) { 
  return YES; 
 }else{ 
  return NO; 
 } 
}
具体的な正則が正しいかどうか  まだ以下を見に来てください。  
第二のシステムソース 
二番目のものを勧めます  

- (NSString *) trimming { 
 return [self stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]]; 
} 
//         
 [NSCharacterSet decimalDigitCharacterSet]; 
 if ([[textField.text stringByTrimmingCharactersInSet: [NSCharacterSet decimalDigitCharacterSet]]trimming].length >0) { 
  DLog(@"     "); 
 }else{ 
  DLog(@"   !"); 
 } 
最近はインスタント通信のプロジェクトをしていますが、まず登録画面です。プロジェクトの需要はユーザーが入力した携帯電話番号で4桁の認証コードを取得して登録を完了します。
ユーザーが入力した携帯電話の番号は合法的で正確な11桁の携帯番号だとどう判断しますか?これらの簡単な問題はフロントエンドで判断しました。バックグラウンドにポストを送ります。無駄なデータを全部ポストに送る必要がありません。
携帯電話の番号が正しいかどうかを判断する方法が多いです。正規表現でマッチを完成しました。無駄話は多くなく、直接コードを入れます。

//       11      
 NSString *regex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$"; 
 NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; 
 BOOL isMatch = [pred evaluateWithObject:_telField.text]; 
if(isMatch) { //      
}else//      
 { 
   if (ios7) { 
    UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:nil message:@"       ,     ..." delegate:self cancelButtonTitle:nil otherButtonTitles:@"  ", nil nil]; 
    alertView.tag = 104; 
    [alertView show]; 
   }else 
   { 
    UIAlertController*alertController = [UIAlertController alertControllerWithTitle:nil message:@"       ,     ..." preferredStyle:UIAlertControllerStyleAlert]; 
    UIAlertAction *otherAction = [UIAlertAction actionWithTitle:@"  " style:UIAlertActionStyleDefault handler:^(UIAlertAction*action) { 
     [_telField selectAll:self]; 
    }]; 
    [alertController addAction:otherAction]; 
    [self presentViewController:alertController animated:YES completion:nil]; 
   } 
  } 
 } 
連絡先、携帯電話、電気通信は毎年新しい番号を追加しますので、電話番号に合う正規表現も毎年更新されます。^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$この正規表現をテストしましたが、合わない番号がありました。ここで共有します。