Swiftでフォーム検証を完了しようとしていますが、UITextField.text内の英数字文字のみをテストする方法はありません。テストUITextField英数字のみを含むテキスト文字列
@IBOutlet weak var username: UITextField!
let letters = NSCharacterSet.letterCharacterSet()
//Check username contains a letter
if (username.text!.rangeOfCharacterFromSet(letters) == nil) {
getAlert("Error", message: "Username must contain at least 1 letter")
}
今、私はちょうどその数値だけ、文字(多分アンダースコアとダッシュ)を検証する方法が必要です:少なくとも1つの文字は(今のところ)に入力された場合
アイブ氏はNSCharacterSetがテストを支援するました入力する。そこにはObj-Cのためのたくさんのものがありますが、私はSWIFTの解決策を必要としています。
は、事前にありがとうございます。
そして、数字、小文字、および大文字の和集合(組み合わせ)である文字セットを構築できます。 alphanumericSetと呼ぶことにしましょう。このアプローチを使用して、 "フィールドのテキストには、英数字セットに含まれていない文字が含まれていますか" –
@ luk2302これはうまくいきませんでした:(まだ文字列 "a_12 - ()11"を使用してログインできました – Chris
@Chris then私がif条件の条件を満たしていれば有効なユーザ名を持っているif条件を満たすたびに、無効なものを意味することに注意してください。 – luk2302