1

メッセージベースのiPhoneアプリに取り組んでいます。k like a-z and A-Zi がユーザーに数字から文字を省略するように警告した場合、数字を Webservice に渡す必要があります。その中でどのように見つけることができますNSString value having a-z and A-Z lettersか?誰でも私を助けてください。前もって感謝します。

4

5 に答える 5

1

文字列に文字が含まれているかどうかを確認したい場合は、次のようなものを使用します。

if ([yourString length] > 0) {
    // nice feature here is, this will also work when yourString is nil! :D
}

---

より複雑なチェックを行いたい場合は、正規表現を使用する必要があります。次のようにNSRegularExpressionクラスを使用します。

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^[A-Za-z]+$" options:0] error:NULL];
NSUInteger numberOfMatches = [regex numberOfMatchesInString:yourString
                                                    options:0
                                                      range:NSMakeRange(0, [string length])];
if (numberOfMatches > 0) {
    // yourString does only consist of multiple letters
}

^[a-zA-Z]+$1 つ以上の文字のみで構成される文字列のみに一致します (それぞれ文字列の開始と終了^$マークします)。^[0-9]+$数字のみに一致します。

于 2012-09-10T11:35:01.347 に答える
1

それはそれであるべきです:)

NSCharacterSet *alphaSet = [NSCharacterSet letterCharacterSet];
BOOL valid = [[yourString stringByTrimmingCharactersInSet:alphaSet] isEqualToString:@""];

文字列からすべての文字を削除します。何か残っている場合はvalidNO.

それが役立つことを願っています! :)

于 2012-09-10T11:35:05.203 に答える
1

これを行う:

NSCharacterSet *alphabetSet = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ"] invertedSet];

if ([yourString rangeOfCharacterFromSet:alphabetSet].location == NSNotFound) {
  if(yourString.length >= 1)
  {
    // has aleast one character
  }
}
于 2012-09-10T11:36:46.717 に答える
0

私が理解していることから、あなたは電話番号を入力してほしいと思っています

まず、数字を追加する UITextView の UIKeyboardTypePhonePad または UIKeyboardTypeNumberPad としてキーパッドを設定できます。

また

テキストをこの関数に渡します

-(BOOL) checkForPhoneNumber:(NSString *) string
{
    NSPredicate *confidenceTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",NUMBER_REGEX]; 
    return [confidenceTest evaluateWithObject:string]?YES:NO;
}

どこ

#define NUMBER_REGEX @"^[0-9]10?$"
于 2012-09-10T11:36:49.157 に答える
0

NSString * regexName = @"[a-zA-Z] * ";

NSString *testString = @"your string";

NSPredicate *predicate;
predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regexName];

if ([predicate evaluateWithObject:testString]) {
    NSLog(@"true");        
}

else{NSLog"文字列に数字または特殊文字が含まれています" ;}

于 2012-09-10T11:50:51.710 に答える