Php 用于url验证的正则表达式

Php 用于url验证的正则表达式,php,regex,validation,Php,Regex,Validation,可能重复: 嗨 在我的表单中,我有一个url字段。用户输入所有类型的web url。我使用以下正则表达式验证url: /^(https?):\/\/(?:[A-Z0-9-]+.)+[A-Z]{2,6}([\/?].+)?$/i 但是这个正则表达式处理一些无效的url,例如 如何改进正则表达式?为什么不使用 不要在不必要的地方使用正则表达式这个问题以前已经解决过很多次了。例如,请参见。对于正则表达式,第一个句点需要像这样转义 /^(https?):\/\/(?:[A-Z0-9-]+\.)+[

可能重复:

在我的表单中,我有一个url字段。用户输入所有类型的web url。我使用以下正则表达式验证url:

/^(https?):\/\/(?:[A-Z0-9-]+.)+[A-Z]{2,6}([\/?].+)?$/i
但是这个正则表达式处理一些无效的url,例如

如何改进正则表达式?为什么不使用


不要在不必要的地方使用正则表达式

这个问题以前已经解决过很多次了。例如,请参见。

对于正则表达式,第一个句点需要像这样转义

/^(https?):\/\/(?:[A-Z0-9-]+\.)+[A-Z]{2,6}([\/?].+)?$/i

这个功能是什么,从来没听说过。我想使用正则表达式,因为我正在使用zend framework,我不知道如何应用此注意事项:使用
filter\u var
with
filter\u VALIDATE\u URL
。这将允许使用无效的URL,如http://?//
等。请查看-1表示懒惰。当输入“Regex for url validation”作为问题标题回答您的问题时,第一个答案是StackOverflow。请不要乱扔复制品。
/^(https?):\/\/(?:[A-Z0-9-]+\.)+[A-Z]{2,6}([\/?].+)?$/i