ruby-on-rails - 替换字符串中的电子邮件、电话和地址(就像 AirBnB 那样)?

标签 ruby-on-rails ruby regex rubygems

我需要在我的 Rails 应用程序中实现与 AirBnB 在其 iOS 应用程序中相同的功能。当你给 AirBnB 上的人写信时,你的电话、电子邮件和地址将被屏蔽,所以你会得到如下内容:

输入:

电子邮件地址 likeemail@example.comemail AT example DOT com 应该被替换。 347 323 4567树四七、三二三四五六七 等电话号码也应替换。

输出:

(email hidden)(email hidden) 等电子邮件地址应该被替换。 (phone hidden)(phone hidden) 等电话号码也应替换。

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

这似乎是具有一千个边缘案例的事情之一,所以我宁愿不自己实现它。有谁知道那里已经有任何 gem ?

最佳答案

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

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

关于ruby-on-rails - 替换字符串中的电子邮件、电话和地址(就像 AirBnB 那样)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29631223/

相关文章:

ruby-on-rails - Rails 4 事件记录组

ruby-on-rails - 使数组无效后不会释放 Ruby 内存

ruby - 递归数组有什么用?

Go中的正则表达式字符串

Android UriMatcher 不匹配通配符

ruby-on-rails - Paypal IPN 发送电子邮件

ruby-on-rails - 在 Ruby 中使用正则表达式从 URL 中提取数字

arrays - 使用 sort_by 排序,nils 出现在前面

html - 显示一定长度的字符串而不截断

java - 在 RapidMiner 中使用正则表达式生成新属性