在字符串中查找电子邮件地址 - ColdFusion 9

Geo*_*Geo 3 coldfusion coldfusion-9

我想知道coldfusion是否有内置函数来查找字符串中的电子邮件地址.

我试图阅读查询输出ex."约翰史密斯jsmith@example.com",只拿出电子邮件.

在过去,我做了类似这样的事情,我在计算字符串的空格,在第二个字符串后,我正在消除左边的所有字符,它保留了电子邮件地址.

虽然这可以在我的情况下工作,但它并不安全,几乎可以保证可能以不同格式出现的数据的错误和误用,例如"John jsmith@example.com",在这种情况下,我将擦除所有信息.

BKK*_*BKK 13

正则表达式可能是最简单的方法.有一个非常大的电子邮件的终极正则表达式.这应该涵盖大多数有效的电子邮件.例如,这不包括unicode.请注意,最大TLD长度为63(请参阅此SO问题和答案).

<cfset string="some garbae@.ca garbage@ca.a real@email.com another@garbage whatever another@email.com oh my!">

<cfset results = reMatchNoCase("[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,63}", string)>

<cfdump var="#results#">
Run Code Online (Sandbox Code Playgroud)