ios - iOS:一个文本字段中的电子邮件ID和电话号码评估

标签 ios validation uitextfielddelegate

用户可以在一个文本字段中输入电子邮件ID或电话。如果用户号输入电子邮件ID,则电子邮件已通过验证。如果用户输入电话,则电话号码将被验证。验证应仅在一个文本字段中完成。我知道电子邮件ID和电话号码验证以及方法

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

如何检测用户是否输入电子邮件ID或电话,然后进行相应验证?

最佳答案

如果NSString中的textfield对象包含字符 @ ,则它是一封电子邮件,否则不是。此外,我们还可以检查字符串是否包含十个字符,并且全部都是用于电话验证的数字。

您可以使用以下代码查找 @ 字符。

  NSString *str = self.textField.text;
  NSRange range = [str rangeOfString:@"@"];
  if (range.location != NSNotFound)
  {
    // it is an email
  }
  else if(str.length == 10 && [str rangeOfCharacterFromSet:[NSCharacterSet characterSetWithCharactersInString:@"0123456789"]].location != NSNotFound) {
    // it is a phone
  }
  else{
    // it is neither of the two
  }

关于ios - iOS:一个文本字段中的电子邮件ID和电话号码评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18821940/

相关文章:

javascript - 输入 datetime-local 的 HTML 5 表单验证

java - Spring MVC 3 - 将参数绑定(bind)到支持对象

ios - 用于密码字段清除的文本字段 shouldChangeCharactersIn

ios - 在通过数据源创建的 UITextField 中显示占位符文本

ios - UITextField 不会返回并且文本字段无法更改。我该如何解决?

ios - 如何快速跟踪时间?

ios - Split View并独立为每个部分制作动画

ios - tableView.setContentOffset 不适用于嵌入在 UIViewcontroller 中的 UITableView

ios - 在 UIcollectionview 中出列多个单元格的方法

jQuery 验证 : Not default value