【发布时间】:2011-03-24 16:52:59
【问题描述】:
我的应用程序中有一个基本的 URL 验证。现在我正在使用以下代码。
//validates whether the given value is
//a valid URL
function validateUrl(value)
{
var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
return regexp.test(value);
}
但现在它不接受没有协议的 URL。例如。如果我提供 www.google.com 它不接受它。如何修改 RegEx 以使其接受没有协议的 URL?
【问题讨论】:
-
感谢您的所有回复。效果很好。
-
您所有的正则表达式都接受@@##$$ 作为有效的 URL。有什么想法吗?
-
NLV,您没有指定您希望我们更正您的正则表达式,您只是询问如何更改它以接受任何协议。无论如何,请参阅下面的我的新答案,它提供了完整(和复杂)的 URL 验证正则表达式。
标签: javascript regex url