用户可以在一个文本字段中输入电子邮件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/