【发布时间】:2016-04-22 09:22:26
【问题描述】:
我有一个输入电话号码的文本字段,用户必须按确定按钮。
然后我编写了一些函数来检查输入的数字是有效数字还是 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 来处理验证和检查电话号码是否有效。此外,字符串的格式。我建议你看看:) 希望它有帮助
-
你能指定一些测试用例吗?您使用哪些数字来检查,哪些应该是正确的?
-
这取决于国家。英国+44,美国+1。这一切都不同..这个库很好地处理了这些案例..
-
我的个人号码 "9159486839" ...根据我的代码,我收到的 uialert 号码错误
-
不使用库文件就无法用我的代码重新编码