Ios 验证文本字段中的条目
我有一个textfield,它允许用户输入文本,并将文本保存到变量中,并将其存储在用户默认值中。我需要输入是一个字符串,因此我需要textfield来检测输入是否为字符串以外的任何内容。如何执行此操作?默认情况下,textField.text属性是一个字符串。 如果您不希望用户输入任何数字,您可以在保存到userdefaults之前参考此项来确定输入日期 另一个Swift职位- 您可以使用此代码Ios 验证文本字段中的条目,ios,swift,string,uitextfield,textfield,Ios,Swift,String,Uitextfield,Textfield,我有一个textfield,它允许用户输入文本,并将文本保存到变量中,并将其存储在用户默认值中。我需要输入是一个字符串,因此我需要textfield来检测输入是否为字符串以外的任何内容。如何执行此操作?默认情况下,textField.text属性是一个字符串。 如果您不希望用户输入任何数字,您可以在保存到userdefaults之前参考此项来确定输入日期 另一个Swift职位- 您可以使用此代码 func textField(_ textField: UITextField, shouldCha
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let characterSet = NSCharacterSet.letters
return (string.rangeOfCharacter(from: characterSet) != nil)
}
确保您已正确设置了
文本字段的委托
,请尝试此代码。希望对你有帮助
func updateSaveButtonState() {
let text = titleTextField.text ?? ""
saveButton.isEnabled = !text.isEmpty
}
@IBAction func textEditingChanged(_ sender: UITextField) {
updateSaveButtonState()
}
@IBAction func returnPressed(_ sender: UITextField) {
titleTextField.resignFirstResponder()
}
请尝试以下代码:swift 4.0
func validateOnlyLetters(text: String) -> Bool {
let characterSet = CharacterSet.decimalDigits
return (text.rangeOfCharacter(from: characterSet) == nil)
}
在文本字段中,你不考虑字符串?在文本字段中的每一个都是字符串。你需要确定你自己认为什么是有效字符串的规则,并与这些字符串进行比较。我需要验证输入是否为字符串(不能是整数/双精度,如5或5.3)。您的textfield中只需要字母字符?是的,它需要是字母@Rajat,因为textfield用于输入名称。顺便说一句,文本文件处于警报控制器中,这正是我所需要的;保存前验证输入。这篇文章是在Objective C中,但是我使用的是swift,我不理解它引用这篇文章后,我知道这个解决方案被反复使用,但这确实是一个非常低效的方法来验证字符串中的字符。@rmaddy这个解决方案有什么问题。我是一个noob:)将整个字符串拆分为一个数组,然后将所有数组元素重新连接回一个字符串,然后比较这两个字符串以查看原始字符串是否包含有效字符,这是非常低效的。
func validateOnlyLetters(text: String) -> Bool {
let characterSet = CharacterSet.decimalDigits
return (text.rangeOfCharacter(from: characterSet) == nil)
}