3

这种情况还没有问题。我不想检测字符串是否包含任何链接,即 http、ftp、https 和 www. 等的所有组合

基本上我想阻止一个字符串包含任何链接。

我目前使用:

name.split(/\s+/).find_all { |u| u =~ /^https?:/ }).count

防止字符串中的任何链接的最佳方法是什么?

4

1 回答 1

6

我最终使用:

errors.add(:name, "Your name cannot contain links") if name.match /\b(?:(?:mailto:\S+|(?:https?|ftp|file):\/\/)?(?:\w+\.)+[a-z]{2,6})\b/

这在几乎所有情况下都非常有效。从网上的几个来源一起被黑

于 2013-10-14T23:53:36.903 回答