2013-07-19 38 views
0
if(/f(?=1-)/.test(window.location.pathname)) { 
if(!/Android|webOS|iPhone|iPad|iPod|BlackBerry/gi.test(navigator.userAgent)) { 
    window.location.href= "/"; 
    } 
} 

如果路徑名與f1-開始,如果是這樣,它不是一個特定的userAgent回到主頁我測試。雖然即使在userAgent上,它仍然在重定向我...是我的正則表達式不正確?正則表達式測試路徑和移動設備

+0

什麼是你的userAgent? – cwallenpoole

+0

我在android和iOS – EasyBB

回答

1

爲什麼路徑名以f1-開頭,通常不會以/開頭?

你需要一個正則表達式,看是否有串的東西開始:

var UA = /Android|webOS|iPhone|iPad|iPod|BlackBerry/gi.test(navigator.userAgent); 

if(!(UA) && window.location.pathname.indexOf('/f1-')===0) { 
    window.location.href= "/"; 
} 
+0

的谷歌瀏覽器上使用了userAgent Switcher,在我的代碼中加入了/ f1-並且轉義了/它對我很好。它不喜歡在chrome userAgent切換器上工作,但它可以在我的手機上工作 – EasyBB

+0

好的,路徑名通常始終以'/ /開頭,所以你確實需要這個。我不會使用正則表達式來檢查字符串的開始,但這取決於你。 – adeneo

+0

我正在使用正則表達式的理由是我測試hrefs以及這是JavaScript,並且有圍繞它的方法;)並且有屑導致回到這個特定的URL,所以如果該href具有該特定的url它應該做同樣的以及 – EasyBB