Ruby on rails 如何在Ruby字符串中检查顶级域

Ruby on rails 如何在Ruby字符串中检查顶级域,ruby-on-rails,ruby,regex,Ruby On Rails,Ruby,Regex,我希望能够检查用户是否在字符串中输入了他们的名字和任何顶级域。最好使用正则表达式验证这一点 我仍然允许用户在用户名中添加,这样鲍比先生就合法了 例如,bobby可以,但是bobby.com会被正则表达式捕获。对于所有TLD,有什么方法可以做到这一点吗?不幸的是,答案是肯定的,否定的,也许一次就全部解决了 我已经介绍了如何通过将转换为可编程执行的内容来实现这一点。在大多数情况下,这是相当准确的,但仍然有一些黑暗的角落,在名单上没有适当的资格。如今顶级域名纯粹是无政府状态,注册域名的人可以自由地按照

我希望能够检查用户是否在字符串中输入了他们的名字和任何顶级域。最好使用正则表达式验证这一点

我仍然允许用户在用户名中添加
,这样
鲍比先生就合法了


例如,
bobby
可以,但是
bobby.com
会被正则表达式捕获。对于所有TLD,有什么方法可以做到这一点吗?

不幸的是,答案是肯定的,否定的,也许一次就全部解决了

我已经介绍了如何通过将转换为可编程执行的内容来实现这一点。在大多数情况下,这是相当准确的,但仍然有一些黑暗的角落,在名单上没有适当的资格。如今顶级域名纯粹是无政府状态,注册域名的人可以自由地按照自己认为合适的方式组织域名,或者根本不组织域名

虽然今天的博比不是gTLD,但明天它可能会成为gTLD。至少可以说,这是超现实主义的,像这样的事情已经被批准,只是为了让生活尽可能的混乱

所以这取决于你所说的“顶级域”是什么意思。有些事情是完全正确的,即使它们看起来完全错误,比如

这个问题似乎已经足够彻底了,但是其中一些以一种特殊的方式组织它们的子域,这使问题变得复杂。例如,澳大利亚不允许直接
.au
域,因此
example.au
无效,而
example.com.au
无效。“公共后缀”列表是这些规则的汇编,用于cookie分配目的


在该列表出现之前,可以将一个cookie分配给所有
.com.au
,至少可以说这种行为是非常不受欢迎的。值得注意的是,
com.au
虽然与通常的
\w+\.\w\w+
模式匹配,但它不是一个有效的域。

您得到的是什么类型的输入?更多有效和无效输入的示例将有所帮助。请阅读“”和链接页面。你的问题问得不好。显示演示您遇到的问题的最少代码。没有这些,你好像没有试着让我们为你写。“我曾经在那个世界里处理这份名单,而ICANN和其他注册商让我发疯了。”这个人告诉我。我正在处理电子邮件,我已经放弃了思考我们将永远明白这一点。是
x@y
有效的电子邮件?可以是!唯一确定的方法是尝试解决它,或者尝试交付它。