我怎么能在iPhone应用程序中找到至少有一个字符的NSString



我正在开发基于消息的iPhone应用程序。如果像a-z and A-Z这样的k提醒用户省略数字中的字母,我必须将数字传递给Web服务。如何在其中找到NSString value having a-z and A-Z letters?任何人都请帮帮我。提前谢谢。

应该是:)

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

它会删除字符串中的所有字母,如果还有剩余的字母,则valid就是NO

希望能有所帮助!:)

这样做:

NSCharacterSet *alphabetSet = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ"] invertedSet];
if ([yourString rangeOfCharacterFromSet:alphabetSet].location == NSNotFound) {
  if(yourString.length >= 1)
  {
    // has aleast one character
  }
}

如果您只想检查字符串中是否有任何字符,请使用以下内容:

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]+$只匹配数字。

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"字符串包含数字或特殊字符";}

据我所知,您希望输入的电话号码

首先,对于要添加数字的UITextView,您可以将键盘设置为UIKeyboardTypePhonePad或UIKeyboard TypeNumberPad。

将文本传递到此功能

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

其中

#define NUMBER_REGEX @"^[0-9]10?$"

相关内容

最新更新