電子メールが有効かどうかチェックする


おいそこ!私はあなたと、この迅速なスニペットを共有すると考えて、長く保つことはありません.

私は現在新しいプロジェクトに取り組んでいます、そして、私が小さいヘルパー方法の束を持っていた古いものからすべてを移住し始めました、そして、現在、私は最高のものを選んでいるチェリーであるか、いくつかの古いものを再処理しています.
しかし、この電子メールチェッカーのために、私は新しいものを必要とすると思いません.
電子メールが有効な形式であるならば、チェックによるこの拡大.私はすべての種類の繰り返しを経験して、最終的にこの宝石オンラインにつまずきました.💎
注意:書式が有効かどうかをチェックします.そのメールが存在するかどうかを確認しません.私はこれまでのチェックを必要としませんでした、そして、ほとんどの時、あなたはすべての存在しないメールがそのように捨てられるように、あなたはサーバーから検証コードまたは何かを送っています.
extension String {

func isValidEmail() -> Bool {
    // `try!` will always succeed because the pattern is valid
    let regex = try! NSRegularExpression(pattern: "(?:[\\p{L}0-9!#$%\\&'*+/=?\\^_`{|}~-]+(?:\\.[\\p{L}0-9!#$%\\&'*+/=?\\^_`{|}" +
        "~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\" +
        "x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[\\p{L}0-9](?:[a-" +
        "z0-9-]*[\\p{L}0-9])?\\.)+[\\p{L}0-9](?:[\\p{L}0-9-]*[\\p{L}0-9])?|\\[(?:(?:25[0-5" +
        "]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-" +
        "9][0-9]?|[\\p{L}0-9-]*[\\p{L}0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21" +
        "-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])", options: .caseInsensitive)
    return regex.firstMatch(in: self, options: [], range: NSRange(location: 0, length: count)) != nil
}

}
読んでくれてありがとう!お気軽にタッチする
乾杯!🍻