我要生成一个函数,它给出了这样的回应:如何检查URL是否只包含一个路由参数?
www.soundcloud.com/abc
- >真正
www.soundcloud.com/abc/1
- >假
http://www.soundcloud.com/abc
- >真正
https://www.soundcloud.com/abc
- >true
https://www.soundcloud.com/abc/1
- >假
请帮帮忙!我在正则表达式相关的东西不好。
我要生成一个函数,它给出了这样的回应:如何检查URL是否只包含一个路由参数?
www.soundcloud.com/abc
- >真正
www.soundcloud.com/abc/1
- >假
http://www.soundcloud.com/abc
- >真正
https://www.soundcloud.com/abc
- >true
https://www.soundcloud.com/abc/1
- >假
请帮帮忙!我在正则表达式相关的东西不好。
var myString = 'http://www.soundcloud.com/abc';
console.log(/^http\:\/\/www.soundcloud.com\/[^\/]+\/?$/.test(myString));
的开始是简单的:^
在正则表达式的开头表示该字符串应该匹配从一开始这种模式,其次是你要匹配顶级URL。
然后,[^\/]+
将匹配一个或多个字符是不正斜杠(^
则无效,\/
逸出正斜杠字符)。
由于有时URL以斜线结尾,因此我们已测试了可选的结尾正斜杠\/?
,后面跟着$
,这意味着该字符串应该在那里结束。所以这将测试abc/
和abc
。
正则表达式不是很难把握,并且可以使生活在许多情况下变得更加容易。 MDN有一个非常好的和简单的参考页面:https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions
请发布您尝试过的方法以及您遇到困难的地方,StackOverflow用于帮助您处理代码,而不是为您完成所有工作。 – uruloke