我正在使用正则表达式来尝试和验证URL的。正则表达式我工作得很好,但唯一的问题是,它验证URL的,即使前面没有http://
。我想,如果URL中的前面有http://
(即使它不包含之后立即WWW)正则表达式:在此表达式的前面需要“http://”
这是我使用正则表达式它只验证:
((https?)\:\/\/)?([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)[email protected])?([a-z0-9-.]*)\.([a-z]{2,3})(\:[0-9]{2,5})?(\/([a-z0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-z0-9;:@&%=+\/\$_.-]*)?(#[a-z_.-][a-z0-9+\$_.-]*)?
自己不验证的URL。无论你在写什么语言,无疑都有已经被编写,测试和调试的代码。你在用什么语言? –
PHP,我已经使用了'filter_var('http://example.com',FILTER_VALIDATE_URL)',但它验证了诸如“http:// example.c”和“http:// example.comxx”这样的URL不验证。你会建议什么原生的PHP函数? – Xecure
你为什么认为这两个不应该验证? –