目錄:[Swift]Xcode實際操做html
本文將演示使用正則表達式判斷郵箱的格式是否正確。正則表達式
在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】swift
1 import UIKit 2 3 //建立一個結構體,用於實現正則表達式的檢測 4 struct RegexHelper 5 { 6 //Swift並無提供處理正則表達式的類, 7 //本文將使用OC正則表達式類,進行正則表達式的檢測 8 let regex: NSRegularExpression? 9 10 //對結構體進行初始化 11 //並傳入一個字符串參數,做爲正則表達式 12 init(_ pattern: String) 13 { 14 //添加一個異常捕捉語句,用來執行正則表達式的匹配工做 15 do 16 { 17 //建立一個正則表達式,並不對大小寫進行區分 18 regex = try NSRegularExpression(pattern: pattern, 19 options: NSRegularExpression.Options.caseInsensitive) 20 } 21 catch 22 { 23 //若是正則表達式建立失敗,則將正則表達式對象置空 24 regex = nil 25 } 26 } 27 28 //建立一個方法,用來執行正則表達式的檢測工做,並返回一個布爾結果 29 func match(_ input: String) -> Bool 30 { 31 //開始對字符串進行正則表達式的檢測 32 if let matches = regex?.matches(in: input, 33 options: .reportProgress, 34 range: NSMakeRange(0, input.lengthOfBytes(using: String.Encoding.utf8))) 35 { 36 //比較在字符串中,匹配正則表達式的位置是否大於0。 37 //以判斷字符串與正則表達式是否匹配。 38 return matches.count > 0 39 } 40 else 41 { 42 //若是字符串不匹配正則表達式,則返回否的布爾結果。 43 return false 44 } 45 } 46 } 47 48 class ViewController: UIViewController { 49 50 override func viewDidLoad() { 51 super.viewDidLoad() 52 // Do any additional setup after loading the view, typically from a nib. 53 54 //建立一個字符串做爲正則表達式,正則表達式的其餘格式,請自行搜索 55 let pattern = "^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$" 56 //初始化一個正則表達式結構體,以檢測字符串是否匹配正則表達式。 57 let matcher = RegexHelper(pattern) 58 //建立一個字符串,用來檢測此字符串的郵箱,是否符合正確的郵箱格式 59 let result = "newsagency@163.com" 60 61 //調用結構體對象的匹配方法,檢測郵箱格式是否正確。 62 if matcher.match(result) 63 { 64 //若是格式正確,在控制檯打印輸出日誌 65 print("It's an email.") 66 } 67 else 68 { 69 //若是格式不正確,則在控制檯打印輸出日誌信息。 70 print("It's not an email.") 71 } 72 } 73 74 override func didReceiveMemoryWarning() { 75 super.didReceiveMemoryWarning() 76 // Dispose of any resources that can be recreated. 77 } 78 }