Mic*_*ael 33 cocoa special-characters nsstring
我想检查NSString的特殊字符,即除了az,AZ和0-9之外的任何字符.
我不需要检查有多少特殊字符或它们的位置,我只需要知道特定字符串是否包含任何字符.如果是,那么我希望能够显示"错误!"或类似的东西.
例如, jHfd9982可以,但asdJh992 @不是.
此外,不应允许带有重音符号,变音符号等的字母.
我该怎么做?
谢谢!
迈克尔
Dav*_*ong 111
NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ0123456789"] invertedSet];
if ([aString rangeOfCharacterFromSet:set].location != NSNotFound) {
NSLog(@"This string contains illegal characters");
}
Run Code Online (Sandbox Code Playgroud)
您也可以使用正则表达式(此语法来自RegexKitLite:http://regexkit.sourceforge.net ):
if ([aString isMatchedByRegex:@"[^a-zA-Z0-9]"]) {
NSLog(@"This string contains illegal characters");
}
Run Code Online (Sandbox Code Playgroud)
在这里,您可以使用它来检查字符串的代码是否具有任何特殊字符
NSString *string = <your string>;
NSString *specialCharacterString = @"!~`@#$%^&*-+();:={}[],.<>?\\/\"\'";
NSCharacterSet *specialCharacterSet = [NSCharacterSet
characterSetWithCharactersInString:specialCharacterString];
if ([string.lowercaseString rangeOfCharacterFromSet:specialCharacterSet].length) {
NSLog(@"contains special characters");
}
Run Code Online (Sandbox Code Playgroud)
您想要使用字符集搜索NSString,如果它无法在字符串中找到任何字符,那么rangeOfCharacterFromSet:将返回{NSNotFound,0}的范围
字符集将类似于[NSCharacterSet symbolCharacterSet]或您自己的集合.请注意,您也可以反转字符集,以便拥有一组可接受的字符
| 归档时间: |
|
| 查看次数: |
41134 次 |
| 最近记录: |