【发布时间】:2013-04-19 21:10:10
【问题描述】:
我正在尝试编写一个正则表达式来匹配一个没有任何其他字符的 10 位数字。 例如。 2345678901
第一个数字应该在 2-9 之间 而剩下的9位可以是任意的
我尝试过编写不同的正则表达式,但都没有成功。
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
//^([0-9]+)?(([0-9]{9})?)?$ (([2-9]{1})?)?(([0-9]{8,9})?)?
NSString *expression = [NSString stringWithFormat:@"^(([2-9]{1})?)?(([0-9]{8,9})?)?$"];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:expression
options:NSRegularExpressionCaseInsensitive
error:nil];
NSUInteger numberOfMatches = [regex numberOfMatchesInString:newString
options:0
range:NSMakeRange(0, [newString length])];
if (numberOfMatches == 0) {
return NO;
}
return YES;
`
感谢您的帮助。
【问题讨论】:
标签: ios objective-c regex nsregularexpression