【发布时间】:2011-09-07 09:58:18
【问题描述】:
我正在寻找一个正则表达式来验证我的用户选择的域,即 I.E. http://mysite.com/userdomain。
我只关心它是否允许正确的字符。
【问题讨论】:
-
您的术语有点混乱。您在谈论域,即 mysite.com 部分;但是您还将 userdomain 写为第一级文件夹 - 这似乎表明您可能正在谈论有效的 url 文件夹名称。它是哪一个?您是否需要单独验证“mysite.com”、“mysite.com/userdomain”或“userdomain”?
-
为了让这项检查在现实世界中发挥作用,您最终会想知道域是否真的存在。虽然查看域在语法上是否正确相对容易,但这并不能告诉您真正需要知道的内容,即它是否可用和有效。而且,您最好的办法是实际 ping 它或尝试连接,而且,要做到这一点,您可能需要尊重实际的方案,例如 ftp 或 http。所以,到那时,像@Bert Goethals 建议的那样,只使用 URI 或 Addressable::URI 可能更有意义。我自己更喜欢 Addressable::URI。
-
这里说的是文件夹名
标签: ruby regex validation