我想限制用戶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")
}
}
謝謝您的安全,我的代碼!現在它完美的工作! –