2017-07-04 6 views
-4

ObejctiveCでNSRegularExpressionを使用して携帯番号検証用のパターンを作成してください。ここ はルールです:モバイル用のNSRegularExpressionパターン

1. Number should start with 01 
    2. 3rd digit between 5 and 9 
    3. Total length should be 11 
+0

正規表現を使ってそれを検証することができます – mkowal87

+0

@ mkowal87サンプルを提供してください。これは私が初めてであるため、簡単になります – Karuthedan

答えて

1

検証を実行するための最良の方法は、正規表現を使用することです。 iOSにはNSRegularExpressionと呼ばれるラッパーがあります。残念ながら、あなたのRegexが私のものと異なる必要があるため、私はあなたにいくつかの「魔法の弾丸」コードを与えることはできません。 (私が英国の携帯電話番号を探しているとすれば、あなたのものはそうではないかもしれない)。

このコードでは、英国の携帯電話番号標準に対して文字列を検証します。

NSString *str = @"07578565203" 
NSError *err; 
NSRegularExpression *regex = [[NSRegularExpression alloc] initWithPattern:@"(07\d{8,9})$" options:nil error:&err]; 
NSTextCheckingResult *result [regex firstMatchInString:str options:nil range:NSMakeRange(0, str.length)]; 
if (result == 1) { 
    // number is valid 
} else { 
    // number is invalid, check err to see why 
} 

NSRegularExpressioninitWithPattern。自分の電話番号に適したパターンを渡す必要があります。 hereを生成できます。このサイトはRegExについて教えてもいいです。

もしあなたが立ち往生したら、あなたが住んでいる電話番号の規則を教えてください。私は正規表現を書くつもりです。

編集: OPのコメントによると、バングラデシュの適切な正規表現は、(01[5-9]\d{8})$となります。

+0

コードを共有するための@Jacob Kingありがとうございました。私のルールに基づいて正規表現を共有することができれば、本当に役に立ちます ここに私の規則はあります:番号は01 で始まります2. 5と9の間の3桁 3.合計の長さは11 ですバングラデシュの携帯番号形式 – Karuthedan

+0

バングラデシュ正規表現の編集を参照してください。 –

+0

ありがとう@ヤコブキング、本当に役に立ちました。 これは私が試したものです NSError * errRegex = NULL; NSRegularExpression * regex = [NSRegularExpression regularExpressionWithPattern:@ "(01 [5-9] \\ d {8})$"オプション:NSRegularExpressionCaseInsensitiveエラー:&errRegex]; NSUInteger countMatches = [regex numberOfMatchesInString:mobileNoオプション:0範囲:NSMakeRange(0、[mobileNo length])]; – Karuthedan

関連する問題