Im cố gắng hoàn thành xác thực biểu mẫu trong Swift và không thể tìm cách thử nghiệm chỉ cho các ký tự chữ và số trong một UITextField.text.Kiểm tra chuỗi văn bản UITextField để chỉ chứa các ký tự chữ và số
Ive thấy NSCharacterSet để giúp kiểm tra nếu ít nhất 1 chữ đã được nhập (cho đến nay):
@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")
}
Bây giờ tôi chỉ cần một cách để xác nhận rằng chỉ số, chữ cái (thậm chí có dấu gạch dưới và dấu gạch ngang) được nhập vào. Tải công cụ cho Obj-C nhưng tôi cần một giải pháp SWIFT.
Cảm ơn bạn trước.
Và bạn có thể xây dựng bộ ký tự là liên kết (kết hợp) các số, chữ thường và chữ thường. Hãy gọi nó là alphanumericSet. Sau đó sử dụng phương pháp này để nói "hiện trường văn bản có chứa bất kỳ ký tự nào không có trong bộ chữ số" –
@ luk2302 không hoạt động này :(Tôi vẫn có thể đăng nhập bằng chuỗi "a_12 -() 11" – Chris
@Chris thì bạn đã sử dụng mã sai hướng.Lưu ý rằng tôi đảo ngược logic của 'if' - bất cứ khi nào bạn hoàn thành điều kiện nếu bạn có tên người dùng hợp lệ trái ngược với mã của bạn, nơi hoàn thành điều kiện if có nghĩa là không hợp lệ. – luk2302