正则表达式 - 检查网址没有扩展名

时间:2017-07-13 04:56:51

标签: javascript regex

我需要没有扩展名的网址,以便在我的代码中执行某些逻辑。

url:https://stackoverflow.com/questions/ask
网址:https://stackoverflow.com/questions/ask.gif

我尝试了以下操作,并且能够在最后一次斜杠后匹配该值。

/[^\/]*$/

https://stackoverflow.com/questions/ 询问
https://stackoverflow.com/questions/ ask.gif

如何检查最后一个斜杠在正则表达式中是否有扩展名后的url值?

4 个答案:

答案 0 :(得分:1)

[^\/.]*(\.\w+)?$

检查第一组。

Regex101 demo

答案 1 :(得分:1)

尝试使用split('/')方法

带扩展程序的名称



var a ='https://stackoverflow.com/questions/ask.gif';

console.log(a.split('/').splice(0,a.split('/').length-1).join('/'))




仅限扩展程序



var a ='https://stackoverflow.com/questions/ask.gif';

console.log(a.split('.').splice(0,a.split('.').length-1).join('.'))




答案 2 :(得分:0)

试试这个正则表达式:

if (url.match("/$")) {
   // do this action if last part is slash
}

答案 3 :(得分:0)

如果您不需要检查这是否真的是一个网址,您可以使用此正则表达式获取扩展名:

/\.[a-z0-9]+$/i

这将获取文件扩展名。如果正则表达式不匹配,则没有扩展名。

您可以在regex101.com

轻松试用您的正则表达式

请告诉我这是否对您有帮助!