다른 문자없이 10 자리 숫자와 일치하는 정규 표현식을 작성하려고합니다. 예. 나머지 9 개 자리는 내가 다른 정규 표현식을 작성하는 시도했지만 아무도 일하지 어떤iOS의 10 자리 숫자에 대한 정규 표현
할 수 있지만 2-9 사이 2,345,678,901
첫 번째 숫자는 있어야한다.
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;
`
감사합니다.
나는 이전에 같은 정규 표현식으로 시도했지만 시뮬레이터는 어떤 문자도 입력하지 않았다. – user2229791
도 실제 장치를 않습니다 ... – user2229791
@ user2229791 부분 유효성 검사를 위해 표현식을 사용하려고한다는 것을 알지 못했습니다. 편집을 한번보세요. – dasblinkenlight