-1

我有这种方法可以“发现”我想要阻止的用户输入。

def has_forbidden_prefix?(string)
  string =~ %r{^(http://|www.)}
end

如果 has_forbidden_​​prefix?是真的,而不是我不想接受输入。

例如:

允许:google.com

不允许:www.google.com、http : //google.com、http ://www.google.com

现在我还想在我的方法中检测任何开始的特殊字符。

不允许:.google.com、/google.com、...

我必须在我的正则表达式中包含什么?

4

2 回答 2

3

查看第一个字符是字母数字还是数字的正则表达式是:

^[a-zA-Z0-9]

其中 ^ 代表应用正则表达式模式的字符串的开头。有关更多信息,请参阅http://www.regular-expressions.info/reference.html

于 2013-07-31T12:23:18.650 回答
0

该正则表达式与上一个问题中您想要的匹配

所以扩展你可以

def has_forbidden_prefix?(string)
  disallowed_string = string =~ %r{\A(http://|www)}
  non_alphanumeric = string =~ /\A[^a-zA-Z0-9]/

  disallowed_string || non_alphanumeric
end
于 2013-07-31T12:14:54.670 回答