如何将字符串输入验证为UITextField?我想判断字符串是否是数字,包括小数点.

推荐答案

我在Mac应用程序中使用了这段代码,同样或类似的代码应该适用于iPhone.它基于RegexKitLite正则表达式,并在文本无效时将文本变为红色.

static bool TextIsValidValue( NSString* newText, double &value )
{
    bool result = false;

    if ( [newText isMatchedByRegex:@"^(?:|0|[1-9]\\d*)(?:\\.\\d*)?$"] ) {
        result = true;
        value = [newText doubleValue];
    }
    return result;
}

- (IBAction) doTextChanged:(id)sender;
{
    double value;
    if ( TextIsValidValue( [i_pause stringValue], value ) ) {
        [i_pause setTextColor:[NSColor blackColor]];
        // do something with the value
    } else {
        [i_pause setTextColor:[NSColor redColor]];
    }
}

Objective-c相关问答推荐

如何在 iOS Objective-C 头文件中将函数标记为已弃用?

检测 NSString 的语言

我怎样才能拥有一个同时包含图像和文本的 UIBarButtonItem?

NSMutableDictionary 线程安全

来自 NSString 的 NSJSONSerialization

BSXPCMessage 收到消息错误:连接中断

UITextView 禁用文本 Select

关于如何将项目从 UITableView 拖放到 UITableView 的教程

Crashlytics iOS - 记录捕获的异常

如何判断字符串是否仅包含目标C中的字母数字字符?

如何从 AVPlayer(不是 AVAudioPlayer)获取持续时间?

在 ios8 中没有调用 didRegisterForRemoteNotificationsWithDeviceToken,但是 didRegister...Settings 是

访问当前视图的父视图 - iOS

为什么不鼓励使用伞式框架?

从 URL Objective C 获取图像

在 UITableView 中更改复选标记的 colored颜色

最大 CGFloat 值是否有常数?

无法从其 DataSource 获取单元格

Foo 类在 MyApp 和 MyAppTestCase 中都实现了.将使用两者之一.哪个是未定义的

未调用 cellForItemAtIndexPath 但 numberOfItemsInSection 调用