我有一个文本字段用于输入电话号码,用户必须按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