簡體   English   中英

regex檢查它是否是url的根目錄,“”,“ /”,“ / index.php”

[英]regex to check if it root dir of url, “”, “/”, “/index.php”

如果我通過window.location.href在javascript中獲取url,如何根據剛得到的url字符串檢查我是否位於根目錄以外的地方。 與正則表達式。

如果url字符串是“ https://stackoverflow.com ”,並且我被該字符串分割(協議+域+ tld),則我希望正則表達式匹配:

  • 沒有, ””
  • 空格“ / \\ s +”
  • 正斜杠“ /”
  • Index.php“ /index.php”

但不是“ / questions”,“ / questions / ask”或index.php或網站根目錄以外的目錄中的任何文件,例如“ questions / ask / index.php”

此正則表達式將滿足您的要求。

^(|\/(?:index\.php)?|\s+)$

^$是需要完全字符串匹配的錨。 ^領先, $結束)
()是一個分組
| 分隔有效的可能匹配項。 ?:是非捕獲組(實際上兩個組都可以是非捕獲組)。
我們通過使用可選的index.php簡化了更改(結尾的?使該組成為可選的)。
\\s+至少是一個空格。
和領先| 不允許任何東西出現。

它也可以寫成:

^(?:|\/|\/index\.php|\s+|)$

功能性JS用法:

var url = '',
    regex = /^(?:|\/|\/index\.php|\s+|)$/;
if(url.match(regex)) {
    console.log('TRUE');
} else{
    console.log('FALSE');
}

演示: https : //jsfiddle.net/Lksghj4h/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM