检查NSString是否包含任何数字,并且至less有7个字符长

所以我想我需要一个正则expression式来做到这一点,但我还没有用目标c做任何正则expression式,而且我还没有像一年那样写一个正则expression式。

我认为应该是((?=。* [0-9])。{7,1000})

我如何把这个变成一个客观的Cstring比较和评估结果?

也是我的正则expression式是正确的?

虽然正则expression式可能会起作用,但还有另一种方法:

 NSString *str = // some string to check for at least one digit and a length of at least 7 if (str.length >= 7 && [str rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]].location != NSNotFound) { // this matches the criteria } 

这段代码实际上检查的不仅仅是0-9。 它也处理来自其他语言的数字。 如果你真的只想要0-9,然后取代:

 [NSCharacterSet decimalDigitCharacterSet] 

有:

 [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];