ইমেইল এবং ফোন নম্বর ভ্যালিডেট করতে কন্ডিশনাল স্টেটমেন্ট ব্যবহার করলে খুব বড় কোড হয়। বরং রেগুলার এক্সপ্রেশন এবং NSPredicate ব্যবহার করলে সহজে হয়।
String-এর এক্সটেনশন হিসেবে নিচের কোড যোগ করুন।
extension String {
var isValidEmail: Bool {
let regex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}"
let test = NSPredicate(format: "SELF MATCHES %@", regex)
return test.evaluate(with: self)
}
var isValidPhone: Bool {
let regex = "^\\d{3}-\\d{3}-\\d{4}$"
let test = NSPredicate(format: "SELF MATCHES %@", regex)
return test.evaluate(with: self)
}
}
ব্যবহার —
override func viewDidLoad() {
super.viewDidLoad()
print("11f".isValidEmail) // false
print("abc@xuyz.com".isValidEmail) // true
print("8892".isValidPhone) // false
print("998-877-2211".isValidPhone) // true
}
আউটপুট: false true false true
