ADu*_*ude 7 iphone objective-c nsstring
我正在寻找检查NSString包含数字和字母字符的最佳方法.到目前为止我得到的是下面的代码,但这只是告诉我没有输入任何不是数字或字母的字符.
if( [[myNSString stringByTrimmingCharactersInSet:
[NSCharacterSet alphanumericCharacterSet]] isEqualToString:@""]){
//The string only contains alpha or numerical characters.
//But now I want to check that both character sets are present ?
}
Run Code Online (Sandbox Code Playgroud)
kov*_*pas 14
只需修剪letterCharacterSet和decimalDigitCharacterSet,并检查生成的字符串是否不等于原始字符串:
if (![[myOriginalString stringByTrimmingCharactersInSet:[NSCharacterSet decimalDigitCharacterSet]] isEqualToString:myOriginalString]
&& ![[myOriginalString stringByTrimmingCharactersInSet:[NSCharacterSet letterCharacterSet]] isEqualToString:myOriginalString]) {
...
}
Run Code Online (Sandbox Code Playgroud)
小智 5
如果你在开头或结尾有字母而另一端有数字,那么kovpas的答案就可以了.如果数字嵌入在字母之间,反之亦然,例如'abc123abc',则会出现问题.这是一个解决方案:
if (![[[str componentsSeparatedByCharactersInSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]] componentsJoinedByString:@""] isEqualToString:str]
&& ![[[str componentsSeparatedByCharactersInSet:[[NSCharacterSet letterCharacterSet] invertedSet]] componentsJoinedByString:@""] isEqualToString:str]) {
....
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4729 次 |
| 最近记录: |