1

正在开发基于消息的 iPhone 应用程序。a-z and A-Z如果 k 像我一样提醒用户省略数字中的字母,我必须将数字传递给 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]+$仅匹配仅由一个或多个字母组成的字符串(^$分别标记字符串的开头和结尾)。^[0-9]+$仅匹配数字。

于 2012-09-10T11:35:01.347 回答
1

应该是这样的:)

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

它会从您的字符串中删除所有字母,如果还有任何内容,valid则为NO.

希望有帮助!:)

于 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 回答