`

UITextField限制输入类型

 
阅读更多

限制只能输入特定的字符

(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    NSCharacterSet *cs;
    cs = [[NSCharacterSet characterSetWithCharactersInString:NUMBERS]invertedSet];
 
    NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs]componentsJoinedByString:@""]; //按cs分离出数组,数组按@""分离出字符串
 
    BOOL canChange = [string isEqualToString:filtered];
 
    return canChange;
}

 上面那个NUMBERS是一个宏,可以在文件顶部定义:

#define NUMBERS @”0123456789\n” (这个代表可以输入数字和换行,请注意这个\n,如果不写这个,Done按键将不会触发,如果用在SearchBar中,将会不触发Search事件,因为你自己限制不让输入\n,好惨,我在项目中才发现的。)

所以,如果你要限制输入英文和数字的话,就可以把这个定义为:

#define kAlphaNum   @”ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789″

当然,你还可以在以上方法return之前,做一提示的,比如提示用户只能输入数字之类的。如果你觉得有需要的话。

 

限制只能输入一定长度的字符

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; 
{  //string就是此时输入的那个字符 textField就是此时正在输入的那个输入框 返回YES就是可以改变输入框的值 NO相反
    
if ([string isEqualToString:@"\n"])  //按会车可以改变
    { 
        return YES; 
    } 
 
    NSString * toBeString = [textField.text stringByReplacingCharactersInRange:range withString:string]; //得到输入框的内容
 
    if (self.myTextField == textField)  //判断是否时我们想要限定的那个输入框
    { 
        if ([toBeString length] > 20) { //如果输入框内容大于20则弹出警告
            textField.text = [toBeString substringToIndex:20]; 
            UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:nil message:@"超过最大字数不能输入了" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil] autorelease]; 
            [alert show]; 
            return NO; 
        } 
    } 
    return YES; 
}
 

 

 

原帖:http://www.myeducs.cn/sys/IOS/UITextFieldIOS-kaifa.htm

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    ios-UITextField,UITextView限制输入长度和类型.zip

    对UITextField,UITextView增加字符,字节限制,输入字符类型限制 typedef NS_ENUM(NSInteger, XLFTextLimitType) { XLFTextLimitTypeNone, // 无限制 XLFTextLimitTypeByte, // 字节数限制 ...

    IOS 开发之 UITextField限制字数的方法

    在实际开发中,我们可以根据需要灵活地调整限制字数的逻辑,例如,我们可以根据不同的场景设置不同的限制字数,或者,我们可以使用正则表达式来限制用户输入的字符类型等等。 UITextField 限制字数的方法是一个非常...

    swift-UITextFieldUITextView限制输入

    2. **限制输入类型** 有时我们需要限制用户只能输入数字、字母或者特定格式的文本,可以使用`textField(_:shouldChangeCharactersIn:replacementString:)`和`textView(_:shouldChangeTextIn:replacementRange:)`这...

    swift-IB方式配置UITextField组件输入规则格式验证长度跳转顺序

    本文将深入探讨如何使用Interface Builder (IB)方式来配置UITextField,包括设置输入规则、进行格式验证、控制长度限制以及设定输入跳转顺序。 首先,`UITextField`在界面构建时,可以通过Interface Builder在...

    使用UITextField限制只可输入中,英文,数字的方法

    但有时需要限制用户只能在UITextField中输入特定类型的字符,例如仅中英文、数字等。为了实现这一功能,可以利用UITextField的代理方法和NSPredicate正则表达式进行过滤。 首先,需要设置UITextField的代理,并实现...

    UITextField限制

    然后,为了限制输入的内容,我们可以监听`UITextField`的`shouldChangeCharactersIn`代理方法。这个方法会在每次文本变化时被调用,返回值决定是否允许此次更改。我们可以在这里添加逻辑,确保输入的都是有效的数字...

    swift-UITextfield输入框限制的功能封装

    2. **字符长度限制**:限制输入的最大字符数,防止过长的文本导致问题。 3. **正则表达式匹配**:通过正则表达式验证输入格式,如电话号码、邮箱等。 4. **特殊字符过滤**:移除或限制某些特殊字符的输入,以确保...

    通过一行代码搞定UITextField的输入格式限制

    一行代码,设置UITextField的输入格式限制,比如手机号、身份证号、银行卡号格式以及输入字符类型个数的限制等; 接口说明 /** * ZASTextFieldFormatDelegate代理 * */ @property (nonatomic,

    UITextField Demo实例

    - **输入限制**:限制用户输入的字符数或仅允许特定字符。 - **键盘类型**:通过`keyboardType`属性设置不同的键盘布局,如数字键盘、电话键盘等。 - **右视图**:通过`rightView`属性添加右侧视图,比如一个搜索...

    UITextField 和UITextView和封装处理 限制输入 iOS

    你可以基于这个类创建自定义的验证规则,比如限制输入类型或者长度。 2. **InputFilter**:过滤器接口,用于处理输入的每个字符。当用户输入时,过滤器会检查字符是否符合预设的规则,不符合的字符将被过滤掉。 3....

    UITextfield

    2. 验证输入:通过`UITextFieldDelegate`的`textField:shouldChangeCharactersIn:replacementString:`方法,限制输入长度,检查输入内容是否合法(例如股票代码的格式)。 3. 自定义键盘:若需提供自定义的键盘,...

    swift-iOS限制输入长度控件

    1. **UITextField限制输入长度**: - 可以通过设置`textField.keyboardType`来选择不同的键盘类型,如数字、字母等。 - 使用`textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: ....

    iOS UITextField、UITextView只限输入中文、英文、数字及实时限制字符个数的封装实现代码

    在某些场景下,我们可能需要对用户的输入进行限制,比如仅允许输入中文、英文和数字,并且实时限制输入的字符数量。这篇文档将详细介绍如何实现这样的功能,并提供了一段封装好的代码示例。 首先,为了监听文本输入...

    9.如何限制编辑控件输入的字符类型?.

    在Web开发中,HTML5提供了一些内置的输入类型,如`type="number"`限制输入为数字,`type="email"`限制输入为电子邮件格式。但这些只能提供基本的验证,更复杂的限制通常需要JavaScript辅助: ```html (/[^0-9]/g, '...

    UITextView 实现UITextField功能

    然而,在某些场景下,开发者可能希望`UITextView`具备`UITextField`的一些特性,比如,限制输入字符数、设置 placeholder 或者实现简单的键盘返回事件处理。本篇文章将详细探讨如何通过自定义`UITextView`来实现`...

    UITextField 文本字段控件-IOS开发

    在实际项目中,我们常常需要对用户输入的数据进行验证,比如限制输入长度、格式校验等。这些都可以通过代理方法或者自定义扩展来实现。 在Demo中,可能包含了一个简单的界面,展示了如何创建和配置UITextField,...

    IOS中UITextView或UITextField字数限制的实现

    在iOS开发中,当涉及到用户输入界面,如`UITextField`和`UITextView`时,有时我们需要对用户输入的字数进行限制,以确保数据的准确性和应用的性能。以下是三种在iOS中实现`UITextField`和`UITextView`字数限制的方法...

    UITextField常用属性及设置

    此外,UITextField还支持许多其他特性,例如输入限制、键盘类型选择、返回键行为等。理解并善用这些属性和方法,能够帮助开发者更好地定制UITextField,提升用户体验。在实际开发中,还需要考虑不同设备和系统版本的...

    文本框的输入限制

    例如,在Java中,我们可以使用Apache Commons Lang的StringUtils库,其提供的各种方法可以检查字符串的长度、格式等,从而限制输入。 此外,对于特定场景,如数字输入,我们可以限制只能输入数字,并禁止复制粘贴或...

Global site tag (gtag.js) - Google Analytics