簡體   English   中英

如何驗證UITextField文本?

[英]How to verify UITextField text?

我需要確保用戶只在我的文本字段中輸入數字。 我將鍵盤設置為數字,但如果用戶使用外部鍵盤,則可能會輸入一個字母。 如何檢測textfield.text中的任何字符是否是字符而不是數字?

謝謝!

您可以選擇可以輸入到textField的字符

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

    /*  this ensures that ONLY numbers can be entered, no matter what kind of keyboard is used  */
    NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];

    for (int i = 0; i < [string length]; i++) {
        unichar c = [string characterAtIndex:i];
        if (![myCharSet characterIsMember:c]) {
            return NO;
        }
    }

    /*  this allows you to choose how many characters can be used in the textField  */
    NSUInteger newLength = [textField.text length] + [string length] - range.length;
    return (newLength > 7) ? NO : YES;
}

每當用戶輸入密鑰時,將調用該文本字段委托。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

在此內部檢查文本是否包含字符。 如果它是你的行動。 喜歡提醒警報或其他東西。

實現textField:shouldChangeCharactersInRange:replacementString:在文本字段的委托中,如果傳遞的字符串包含無效字符,則返回NO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM