我正在开发基于消息的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?$"