gpt4 book ai didi

swift - UITextField Swift 中只允许字母表和空格

转载 作者:搜寻专家 更新时间:2023-10-31 08:10:29 24 4
gpt4 key购买 nike

我想验证我的 textField,它只检查允许的字母和空格,如果给出了数字,那么它将返回警告错误。

//First I declare my value to variable
var nameValue: String = mainView.nameTextField.text!

//Then I declare this
let set = CharacterSet(charactersIn: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ")

//And this is the validation
if(nameValue.rangeOfCharacter(from: set.inverted) != nil ){
self.showAlert(message: "Must not contain Number in Name")
} else {
//other code
}


ex: nameValue : "abcd" it works, but
if nameValue : "ab cd" whitespace included, it returns the showAlert message.

此代码有效,但仅适用于字母表,我现在需要的是字母表和空格。我猜我声明的是硬编码。也许你们对这种情况有更好的代码和选择。

谢谢。

最佳答案

最简单的方法是向字符集添加新行,例如

let set = CharacterSet(charactersIn: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ ")

即在包含的字符集末尾添加空白字符""

你可以使用正则表达式而不是硬编码

   do {
let regex = try NSRegularExpression(pattern: ".*[^A-Za-z ].*", options: [])
if regex.firstMatch(in: nameValue, options: [], range: NSMakeRange(0, nameValue.characters.count)) != nil {
self.showAlert(message: "Must not contain Number in Name")

} else {

}
}
catch {

}

关于swift - UITextField Swift 中只允许字母表和空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44405748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com