私はFirst_Nameユーザーを文字のみを許可するように制限しています。そのため、send_buttonをクリックした後に数字や特殊文字のエラーが返される必要があります。私はここでいくつかの例を見つけましたが、古いバージョンの上にビルドされているため、問題を起こしています。今まで私はこのテキストフィールドの最初の要素が文字ではなく、コードがこのようなものを許可する(First name = "J123g")か( "Mark @#$")、First Nameを読み込み、私はこれが事実であるとは思わない。両方の不要な例と一致する1つの英数字ためは、ユーザー名の文字のみを許可します。
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")
}
}
おかげで、あなたの安全私のコード!今それは完璧に動作します! –