Ich habe diese Regex (([A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,6}
) für E-Mail-Adressen und ich versuche, eine Funktion zu machen, um zu überprüfen, ob eine Zeichenfolge entspricht. Ich habe bereits versuchtÜberprüfen, ob Zeichenkette mit Regex-Muster übereinstimmt Swift 2.2
func matches() -> Bool
{
let emailRegex : String = "([A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,6}"
return NSPredicate(format: "SELF MATCHES %@", emailRegex).evaluateWithObject(self) //I use self because this is an extension of String
}
und
func matches() -> Bool
{
let emailRegex : String = "([A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,6}"
return self.rangeOfStringrangeOfString(emailRegex, options: .RegularExpressionSearch) != nil
}
aber sie entweder geben Sie mir einen Laufzeitfehler (mit NSPredicate) oder sagen, dass jede einzelne E-Mail-Adresse ist ungültig (mit .rangeOfString)
I fand auch eine Regex-Klasse-Deklaration bei this link, die in Swift 1.x geschrieben ist (aber ich kann es leicht in Swift 2.x konvertieren, um es zu bauen), aber es funktioniert auch nicht.
Ich googelte rauf und runter ohne eine funktionierende oder verständliche Methode zu finden (ich bin Swift etwas neu) also meine Frage ist: Wie überprüfe ich, ob eine Zeichenkette mit einer Regex in Swift 2 übereinstimmt?
süßer Jesus es funktioniert, ** vielen Dank **. Anscheinend waren all meine Stunden, in denen ich mit Google zu kämpfen hatte, dank meiner Dummheit eine komplette Zeitverschwendung. – NOVA99
Ich kann aus zwei Gründen keine Bestätigungs-E-Mail senden: 1) Es ist ein Adressbuch 2) Es ist nur ein Befehlszeilen-Tool ... – NOVA99
@ NOVA99 Kommandozeilen-Tools können perfekt E-Mails senden ('/ usr/bin/mail' ist ein klassisches Beispiel). Wenn Sie jedoch das Adressbuch im Auge behalten, sollten Sie in Betracht ziehen, die Verantwortung für die E-Mail-Korrektheit dem Benutzer zu überlassen. Prüfen Sie beispielsweise auch die Gültigkeit der Anschrift (insbesondere internationale Adressen)? – Evert