2013-04-09 87 views
-3

我一直在玩我的iPhone和我最近意识到,iPhone的电子邮件应用程序可以识别,如果电子邮件内的一行代表一个地址。有趣的是,这与许多地址模式一起工作。我尝试过美国,德国,法国和西班牙。在所有的情况下,地址都被强调为蓝色链接,就像电话号码一样。 所以我的问题是这个地址检测背后的算法是什么?iPhone的电子邮件应用程序如何识别地址?

+0

其实做u想实现什么,详细注明。或者你只想知道如何检测邮件标识。 – 2013-04-09 09:37:17

+0

你有没有得到这个问题的答案?下面的回答只是指向黑盒而不是算法。 – freethebees 2014-10-01 09:29:21

回答

2

检查UIDataDetectorTypesdocumentation。你会发现一个UIDataDetectorTypeAddress,检测格式化为地址的字符串。 然后,您可以将此检测器类型添加到UITextView

+0

我不是指电子邮件地址。我的意思是位置地址。iPhone可以识别所有类型的位置地址,美国,西班牙,法国,...... – 2013-04-09 10:00:32

+0

'UIDataDetectorTypeAddress'将检测这些地址('email'中没有' UIDataDetectorTypeAddress'。 – tilo 2013-04-09 10:20:19

+0

感谢Tilo,但我还没有得到我的问题的答案。必须有一种方式,这个UIDataDetectorTypeAddress东西检测到一个地址,不管它属于哪个国家。 这就是我想知道的。不需要任何实现,只是一个逻辑如何做到这一点 – 2013-04-09 10:40:22

1

您可以设置theObj.dataDetectorTypes = UIDataDetectorTypeAddress;

也可以实现这样的

UITextView *theObj; 
theObj = [[UITextView alloc] initWithFrame:CGRectMake(65, 10, 225, 65)]; 
theObj.text = @"[email protected]"; 
theObj.editable = NO; 
theObj.dataDetectorTypes = UIDataDetectorTypeAddress; 
[myview theObj]; 
+0

我不是说电子邮件地址。我的意思是位置地址。iPhone可以识别所有类型的位置地址,美国,西班牙,法国,...... – 2013-04-09 09:52:22