UITextField 限制輸入數字及小數點


#define kNumbersPeriod  @"0123456789."


-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    
    NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:kNumbersPeriod] invertedSet];
    NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
    
    if ([string isEqualToString:filtered])
    {
        if (range.location == 0 && [string isEqualToString:@"."]) {
            return NO;
        }else if (range.location == 1 &&([_textField.text intValue] == 0) && ![string isEqualToString:@"."]) {
            _textField.text = string;
            return NO;
        } else if ([_textField.text containsString:@"."] && [string isEqualToString:@"."]){
            return NO;
        }else{
            return range.location <= 6 ? YES:NO;
        }
    }else
        return NO;
}




發佈了68 篇原創文章 · 獲贊 10 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章