ईमेल और फोन को तेज भाषा में सत्यापित करने के लिए हम कई सशर्त बयानों का उपयोग कर सकते हैं जैसे कि यदि शर्तें, लेकिन यह एक लंबी प्रक्रिया है और इसमें ईमेल को मान्य करने के लिए 50-100s if स्टेटमेंट हो सकते हैं।
इसलिए कंडीशनल के बजाय हम रेगुलर एक्सप्रेशन का उपयोग करेंगे। स्विफ्ट NSPredicates प्रदान करता है जिसका उपयोग हम रेगुलर एक्सप्रेशन का मूल्यांकन करने और उनका परीक्षण करने के लिए कर सकते हैं।
आइए देखें कि ऐसा करने के लिए हम रेगुलर एक्सप्रेशन का उपयोग कैसे कर सकते हैं।
हम एक फ़ंक्शन बनाएंगे जिसे हम पूरे प्रोजेक्ट में उपयोग करने के लिए स्ट्रिंग क्लास या UIViewController के विस्तार के रूप में उपयोग कर सकते हैं।
अपने प्रोजेक्ट में किसी भी वर्ग में निम्न कोड जोड़ें, या एक्सटेंशन जोड़ने के लिए एक अलग स्विफ्ट क्लास बनाएं।
extension String { var isValidEmail: Bool { let regularExpressionForEmail = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}" let testEmail = NSPredicate(format:"SELF MATCHES %@", regularExpressionForEmail) return testEmail.evaluate(with: self) } var isValidPhone: Bool { let regularExpressionForPhone = "^\\d{3}-\\d{3}-\\d{4}$" let testPhone = NSPredicate(format:"SELF MATCHES %@", regularExpressionForPhone) return testPhone.evaluate(with: self) } }
इसी तरह इस्तेमाल किया जा सकता है
override func viewDidLoad() { super.viewDidLoad() print("11f".isValidEmail) print("[email protected]".isValidEmail) print("8892".isValidPhone) print("998-877-2211".isValidPhone) }
जब हम उपरोक्त कोड चलाते हैं, तो हमें निम्न आउटपुट मिलता है।
false true false true