我希望用户提交一个有效但也是图像的 URL,以 .jpg、.png 或 .gif 结尾。
最佳答案
(?:([^:/?#]+):)?(?://([^/?#]*))?([^?#]*\.(?:jpg|gif|png) )(?:\?([^#]*))?(?:#(.*))?
这是来自 RFC 2396 的官方 URI 解析正则表达式的(稍微修改)版本.它允许 #fragments
和 ?querystrings
出现在文件名之后,这可能是您想要的,也可能不是。它还匹配任何有效域,包括 localhost
,这可能不是您想要的,但可以修改。
一个更传统的正则表达式可能如下所示。
^https?://(?:[a-z0-9\-]+\.)+[az]{2,6}(?:/[^/#?]+)+\.(?:jpg |gif|png)$
|-------- 域 -----------|--- 路径 ---|-- 扩展名 ---|
编辑 看我的 other comment ,虽然没有像这个问题那样完整地回答问题,但我觉得在这种情况下它可能更有用。但是,出于业力妓女的完整性原因,我将其留在这里。
关于正则表达式检查是否以 .jpg、.png 或 .gif 结尾的有效 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/169625/