전자 메일 주소에 대해이 정규식 (([A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,6}
)을 가지고 있으며 문자열이 해당하는지 확인하기 위해 함수를 작성하려고합니다. 는 이미문자열이 정규식 패턴과 일치하는지 확인하십시오. 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
}
및
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
}
을 시도하지만 그들은 (자 NSPredicate와) 나에게 런타임 오류를 제공하거나 매일 이메일 adress은이
I (.rangeOfString와) 유효하지 말 중 하나 Swift 1.x로 작성된 this link에있는 Regex 클래스 선언도 발견되었지만 (이를 빌드하려면 Swift 2.x로 쉽게 변환 할 수 있음) 작동하지 않습니다.
작동 방식이나 이해할 수있는 방법을 찾지 않고 위젯을 검색해 보았습니다. (스위프트에 익숙하지 않습니다) 제 질문은 입니다. 문자열이 스위프트 2에서 정규식과 일치하는지 어떻게 확인합니까?
달콤한 예수님, ** 고맙습니다 **. Google에서 고생하고있는 내 모든 시간은 내 벙어리 덕분에 시간 낭비였습니다 – NOVA99
두 가지 이유로 유효성 확인 이메일을 보낼 수 없습니다. 1) 주소록입니다. 2) 단지 명령 줄 도구입니다. – NOVA99
@ NOVA99 커맨드 라인 툴은 전자 메일을 완벽하게 보낼 수 있습니다 (전형적인 예가'/ usr/bin/mail'). 그러나 주소록을 염두에두면 사용자에게 전자 메일의 정확성에 대한 책임을 맡길 수 있습니다. 예를 들어, 주소 (특히 국제 주소)의 유효성을 또한 확인하고 있습니까? – Evert