Sto cercando di completare la convalida del modulo in Swift e non riesco a trovare un modo per testare solo caratteri alfanumerici in un UITextField.text.Test stringa di testo UITextField per contenere solo caratteri alfanumerici
Ive ha trovato NSCharacterSet per aiutare a testare se è stato inserito almeno 1 lettera (finora):
@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")
}
Ora ho solo bisogno di un modo per convalidare che solo i numeri, lettere (forse anche di sottolineatura e trattini) essere inserito Un sacco di cose là fuori per Obj-C ma ho bisogno di una soluzione SWIFT per favore.
Grazie in anticipo.
E puoi creare un set di caratteri che è l'unione (combinazione) di numeri, lettere minuscole e lettere maiuscole. Chiamiamolo alfanumerico. Quindi usa questo approccio per dire "il testo del campo contiene caratteri non compresi nel set alfanumerico" –
@ luk2302 questo non ha funzionato :(Ero ancora in grado di accedere usando la stringa "a_12 -() 11" – Chris
@Chris allora tu Ho usato il codice nel modo sbagliato. Nota che ho invertito la logica del 'if' - ogni volta che soddisfi la condizione if hai un nome utente valido in contrasto con il tuo codice dove soddisfare la condizione if significava uno non valido. – luk2302