2009-01-27 115 views
2

我需要用户能够输入URL,并且希望确保它尽可能健康。比如检查前面是http://,没有双点,也许有效的顶级域名(TLD),尾部斜线(我必须添加最后一页)。用于消毒用户输入的URL的Delphi代码

我认为这是一个共同的要求,它必须已经存在。建议?

[编辑:]要清楚的是,这是Windows服务中的运行时需求。我们的目标是从配置中读取最好的URL,而不是验证用户输入的内容。实质上,如果我可以调整URL并使其工作,那么我就是这么做的。下载将是一个特定的文件,所以如果一切都出错了,它不会错误地从另一台服务器上得到错误的东西。

回答

3

你看过“What is the best regular expression to check if a string is a valid URL”吗?这不是特定的Delphi,但可能会让你开始。

+0

嗯,一个有趣的想法,谢谢,但我宁愿“自动更正”的网址,而不是验证它。但在进入时验证它可能也是件好事。 – mj2008 2009-01-27 16:40:30

+0

您可以直接显示输入的URL不正确的可视标志,而不是自动更正。例如禁用OK按钮或将编辑背景设置为红色。 – 2009-01-27 17:23:25

1

也许一些建议here可能会有所帮助。

4

如何在Windows API中使用PathIsURL函数?

更新: 这已经包装在ShLwApi单元中的Delphi RTL中。