我想限制用户First_Name只允许字母,所以它应该在点击send_button之后响应数字或特殊字符的错误。我在这里找到了一些例子,但是因为它们是基于较旧的快速版本构建的,所以我遇到了难题使其工作。直到现在,我已经设法读取名字,并抛出一个错误,如果这个文本字段的第一个元素不是字母,但代码允许这样的事情(名字=“J123g”)或(“马克@#$”)我不希望这是事实。只允许用户名字母
func isOneLetter(in text: String) -> Bool {
do {
let regex = try NSRegularExpression(pattern: "[a-zA-Z]")
let nsString = text as NSString
let results = regex.matches(in: text, range: NSRange(location: 0, length: nsString.length))
let temp = results.map { nsString.substring(with: $0.range)}
return temp.isEmpty
} catch let error {
print("invalid regex: \(error.localizedDescription)")
return false
}
}
@IBAction func Send_Button(_ sender: AnyObject) {
let UserName = First_Name.text
if (isOneLetter(in: UserName!))
{
DisplayMyAlertMessage(userMessage: "First Name must contain only letter and spaces")
}
}
谢谢您的安全,我的代码!现在它完美的工作! –