验证第一个char必须是整数或字母

时间:2013-07-31 12:02:31

标签: ruby regex validation

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

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

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

例如:

允许:google.com

不允许:www.google.com,http://google.comhttp://www.google.com

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

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

我的正则表达式包含哪些内容?

2 个答案:

答案 0 :(得分:3)

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

^ [A-ZA-Z0-9]

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

答案 1 :(得分:0)

正则表达式与 想要的previous question

相匹配

扩展你可以

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