iOS UITextField 금액, 가격 입력 제한

1174 단어 iOSObjective-C
네 줄 코드 해결 금액 입력 제한
결 제 를 할 때 금액, 가격 의 입력 을 하지 않 을 수 없 지만 입력 할 때 해당 하 는 제한 을 실현 하여 합 법 적 인 가격, 금액 의 입력 만 할 수 있 게 한다 면 사용자 체험 을 크게 향상 시 킬 것 이다. 인터넷 의 많은 방법 은 판단 문 구 를 사용 하여 특 판 을 하고 정규 표현 식 을 배 운 후에정규 표현 으로 대리 에서 이 루어 지 려 고 합 니 다.
지불 금액, 가격 UITextField 입력 상자, 가격 유형 을 입력 하 는 숫자 를 제한 합 니 다.합 법 적 인 금액 숫자 만 입력 할 수 있 으 며, 다른 문 자 는 일률적으로 입력 할 수 없습니다. UITextField 의 에이전트 에서 정규 표현 식 을 이용 하여 입력 제한 을 실현 합 니 다.
UITextField 의 에이전트 에서 다음 과 같은 방법 을 수행 합 니 다.
핵심 코드:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    NSString * str = [NSString stringWithFormat:@"%@%@",textField.text,string];
    //   0     
    NSPredicate * predicate0 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",@"^[0][0-9]+$"];
    //      、  
    NSPredicate * predicate1 = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",@"^(([1-9]{1}[0-9]*|[0])\.?[0-9]{0,2})$"];
    BOOL sucess = ![predicate0 evaluateWithObject:str] && [predicate1 evaluateWithObject:str] ? YES : NO;
    return sucess;
}

 
/ / 금액 만 입력 할 수 있 는 정규 표현 식 제한

좋은 웹페이지 즐겨찾기