ios - 如何将文本字段限制为仅有效小数?

标签 ios swift validation uitextfield

在我的应用程序中,有一个地方用户必须在文本字段中输入小数。但是,我不知道如何将文本字段限制为仅有效的小数。我试了一个例子 here , 但文本字段仍然让我输入多于一位的小数点,让我在文本字段的开头放一个小数点,但它不允许我删除字符。 如何将文本字段限制为仅有效小数?谢谢!

最佳答案

 func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool 
{

let textFieldString = textField.text! as NSString;

var newString = textFieldString.stringByReplacingCharactersInRange(range, withString:string)

let floatRegEx = "^([0-9]+)?(\\.([0-9]+)?)?$"

let floatExPredicate = NSPredicate(format:"SELF MATCHES %@", floatRegEx)

return floatExPredicate.evaluateWithObject(newString)


}

关于ios - 如何将文本字段限制为仅有效小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36110520/

相关文章:

ios - 在 Swift/iOS 中从 UITableView 删除行并从 NSUserDefaults 更新数组的正确方法

ios - 如何将服务器中的 JSON 数据放入 Swift 3 中的 TableView 单元格中

ios - 如何检查 iOS 设置是否允许权限

ios - 点击 Collection View 中的按钮后自定义相机 View

javascript - JS : regex for numbers and spaces?

jquery - 当对按钮使用 jQuery .on() 方法而不是表单 - 提交事件时,html5 表单在未经验证的情况下提交。为什么?

javascript - jQuery 验证下拉列表

ios - 按数字对字典数组进行排序

ios - Swift:在不同的函数中调用闭包完成方法

swift - 数据与 [UInt8]