用字符串替换电子邮件,电话和地址(如AirBnB那样)?

时间:2015-04-14 15:20:46

标签: ruby-on-rails ruby regex rubygems

我需要在我的Rails应用程序中实现与AirBnB在其iOS应用程序中相同的功能。当您在AirBnB上写信给某人时,您的电话,电子邮件和地址将被阻止,因此您可以获得如下内容:

输入:

电子邮件地址 likeemail@example.com 电子邮件,例如DOT com 应该被替换。电话号码如 347 323 4567 树四七,三二三四有五六七也应该更换。

输出:

应替换(隐藏电子邮件)(隐藏电子邮件)等电子邮件地址。还应替换(隐藏手机)(手机隐藏)等电话号码。

这是为了确保人们无法进行“离线”交易。我到处寻找,但似乎我们那里的任何宝石都没有做过类似的事情。

这看起来像有一千个边缘案例的事情之一,所以宁愿不自己实现它。有谁知道那里已有的宝石了?

1 个答案:

答案 0 :(得分:0)

以下内容(取自this question)会产生一些漏报(使用电子邮件地址的正则表达式总是会这样),但会捕获字符串中的大部分电子邮件

'email addresses like me@example.com'.gsub(
  /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, '(email hidden)')