ObejctiveCでNSRegularExpressionを使用して携帯番号検証用のパターンを作成してください。ここ はルールです:モバイル用のNSRegularExpressionパターン
1. Number should start with 01
2. 3rd digit between 5 and 9
3. Total length should be 11
ObejctiveCでNSRegularExpressionを使用して携帯番号検証用のパターンを作成してください。ここ はルールです:モバイル用のNSRegularExpressionパターン
1. Number should start with 01
2. 3rd digit between 5 and 9
3. Total length should be 11
検証を実行するための最良の方法は、正規表現を使用することです。 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
}
注NSRegularExpression
のinitWithPattern
。自分の電話番号に適したパターンを渡す必要があります。 hereを生成できます。このサイトはRegExについて教えてもいいです。
もしあなたが立ち往生したら、あなたが住んでいる電話番号の規則を教えてください。私は正規表現を書くつもりです。
編集: OPのコメントによると、バングラデシュの適切な正規表現は、(01[5-9]\d{8})$
となります。
コードを共有するための@Jacob Kingありがとうございました。私のルールに基づいて正規表現を共有することができれば、本当に役に立ちます ここに私の規則はあります:番号は01 で始まります2. 5と9の間の3桁 3.合計の長さは11 ですバングラデシュの携帯番号形式 – Karuthedan
バングラデシュ正規表現の編集を参照してください。 –
ありがとう@ヤコブキング、本当に役に立ちました。 これは私が試したものです 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
正規表現を使ってそれを検証することができます – mkowal87
@ mkowal87サンプルを提供してください。これは私が初めてであるため、簡単になります – Karuthedan