2016-01-22 89 views
-2

我要生成一個函數,它給出了這樣的迴應:如何檢查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 - >

請幫幫忙!我在正則表達式相關的東西不好。

+2

請發佈您嘗試過的方法以及您遇到困難的地方,StackOverflow用於幫助您處理代碼,而不是爲您完成所有工作。 – uruloke

回答

2
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

相關問題