我有一個文本字段用於輸入電話號碼,用戶必須按OK按鈕。檢查有效的電話號碼
然後我寫一些函數來檢查輸入的數字是有效數字還是10位數字。我不想添加國家代碼。我分開了。
但是,當我按OK按鈕它給我uialert - 錯誤的號碼,包括我自己的號碼在內的所有號碼。我不知道我錯過了什麼代碼?
func validate(value: String) -> Bool {
let PHONE_REGEX = "^\\d{3}-\\d{3}-\\d{4}$"
var phoneTest = NSPredicate(format: "SELF MATCHES %@", PHONE_REGEX)
var result = phoneTest.evaluateWithObject(value)
return result
}
@IBAction func confirmAction(sender: AnyObject) {
if validate(phoneNumber.text!)
{
print("Validate EmailID")
let phone = countryCode.text! + phoneNumber.text!
UserNetworkInterface().generateSms(phone, onCompletion: nil)
performSegueWithIdentifier("ConfirmSmsCode", sender: self)
}
else
{
print("invalide EmailID")
let alert = UIAlertView()
alert.title = "Message"
alert.message = "Enter Valid Contact Number"
alert.addButtonWithTitle("Ok")
alert.delegate = self
alert.show()
}
}
更新時間:
@IBAction func confirmAction(sender: AnyObject) {
if let phoneNumberValidator = phoneNumber.isPhoneNumber
{
print("Validate EmailID")
let phone = countryCode.text! + phoneNumber.text!
UserNetworkInterface().generateSms(phone, onCompletion: nil)
performSegueWithIdentifier("ConfirmSmsCode", sender: self)
}
else
{
print("invalide EmailID")
let alert = UIAlertView()
alert.title = "Message"
alert.message = "Enter Valid Contact Number"
alert.addButtonWithTitle("Ok")
alert.delegate = self
alert.show()
phoneNumber.text = ""
}
// Number valid
}
我用[PhoneNumberKit(https://開頭github上。 com/marmelroy/PhoneNumberKit),用於驗證和檢查電話號碼是否有效。此外,字符串的格式。我建議你看看:)希望它有幫助 – senty
你能指定一些測試用例嗎? 你使用哪些數字來檢查,哪些數據應該是正確的? – Pietro
這取決於國家。英國有+44,美國有+1。這是所有不同的..這個庫處理案件很好.. – senty