preg_match-url验证,有什么问题吗?

preg_match-url验证,有什么问题吗?,url,preg-match,Url,Preg Match,我想检查一个值的语法,但我的代码不起作用 preg_match("/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/", $_POST['website'] 应该检查一下有没有 1) http或https 2) 包含以下内容的部件:// 3) a-z/0-9的零件 4) 一点 5) 具有a-z最小/最大字符的零件 这是php文件的一部分 在$_POST中,['website']

我想检查一个值的语法,但我的代码不起作用

preg_match("/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/", $_POST['website']
应该检查一下有没有

1) http或https 2) 包含以下内容的部件:// 3) a-z/0-9的零件 4) 一点 5) 具有a-z最小/最大字符的零件

这是php文件的一部分

在$_POST中,['website']例如:www.mydomain.com或

这个就可以了:

/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
它使用我们的非
http://

原著

/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/

请更具体地说明它是如何工作的。什么是得到错误结果的示例输入值?我已更改了ist,但它不起作用-如果(!preg_match(“/^(https?:\/\/)?([\da-z\.-]+)\([a-z\.]{2,6})([\/\w\.-]*)*/?/,$\u POST['website']){echo“URL不正常”;}否则{echo“URL正常”}这将验证URL输入是否正常。丢失
。这验证了example.com、www.example.com、example.com?test.ex是正确的。看起来我今天很笨,但我可以输入我想要的,结果每次都是“false”。。。?如果(preg\u match(“/^(https?:\/\/)?([\da-z\.-]+)\([a-z\.]{2,6})([\/\w\.-]*)*\/?/,$POST['website']){echo“URL ok”;}否则{echo“URL notok”}在您的问题中发布处理此验证的代码和输入。我在代码中发现了一个boo boo boo boo boo boo。现在更新了。
/
应该在
$
之后
/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/