2017-01-03 6 views
0

は、だから私は、このような"https://stackoverflow.com/users/2"または"https://stackoverflow.com/users/4"または"https://stackoverflow.com/users/25"などとしてパスを持っていると私はセットアップになどifの文必要があります:すべてのキャッチwindow.location.pathname

if(window.location.pathname == "https://stackoverflow.com/users/?????") {}; 

をこれらの経路の

+0

正規表現を探しています。 – SLaks

+0

この種の問題を解決するには、[正規表現](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match)を使用して一致を見つける必要があります。 –

+1

パスが "/ users/x"しかない場合、Regexはまったく使用する必要はありません。必要な値が常に同じインデックスから文字列に始まるので、単純なsubstr()で十分です。 – allnodcoms

答えて

0

これを使用してください:

var pathname = window.location.pathname; 
if (pathname.startsWith('/users/')) { 
    // Do stuff here 
} 

startsWith方法については、こちらをご覧ください。あなただけがあれば、私は推測する'/users/'

var pathName = window.location.pathname; 

if (pathName.indexOf('/users/') === 0) { 

} 
1

あなたは満足しないだろう第二の後に「/ユーザ/」、そして何をindexOfのあなたの条件を大幅に削減確認することができ、私はあなたが持っていることを確認するために何かを提案しますユーザーのID(検索する部分文字列の位置とその長さが追加された位置よりも大きい文字列の長さを確認する)>後に何かあるはずです...)このように:

var p = window.location.pathname; 
if(p.indexOf("https://stackoverflow.com/users/") > -1 && p.length > p.indexOf("https://stackoverflow.com/users/") + 7) { 
      ... 
} 

...多分2番目のスラッシュの後のIDが必要な場合は数字であるかどうかをチェックすることもできます...

関連する問題