2013-04-23 29 views

回答

3

你應該從一開始的字符串^匹配零,即

if (/^0{5,}/.test(src)) { ... } 

如果您需要在字符串中的任何地方匹配連續5個零,則省略任何^$

已更新:在你的情況下,你可以使用類似if (/\/0{5,}/.test(src)) { ... }的東西。

+1

他應該嗎?他只說「有超過5個連續的零」 - 不是「從開始」 - 我在想'/ 0 {5} /'應該可以正常工作... – FrankieTheKneeMan 2013-04-23 23:15:35

+0

啊因爲'src'是一個完整路徑文件名,也許是'/ \/0 {5,} /'? – 2013-04-23 23:17:12

+0

我修改了這個問題。 src變量將具有完整的url。對困惑感到抱歉。 – Tony 2013-04-23 23:18:13

2

作爲替代你也可以使用indexOf(),與此類似:

if(src.indexOf('00000') > -1){ 
    alert('matchFound'); 
} else { 
    alert('no match found'); 
} 
+1

+1作爲indexOf比正則表達式快得多(儘管在這裏並不明顯)。 – RobG 2013-04-23 23:20:45

+0

@RobG:我不知道。很有意思。我添加了'indexOf()'作爲基於原始帖子的標題'match'(如果變量具有多於五個零)的備選方案,因爲它似乎是一個足夠簡單的評估。 OP然後添加了示例Urls。在這種情況下,如果'000000'必須跟在字符串中的'/'後面,並且排除文件夾名稱或類似名稱,則假定需要使用正則表達式。 – Nope 2013-04-23 23:28:00

0

試試這個關於大小:

/0{5,}[^\/]*$/ 

它檢查五個或更多個零,其次是什麼,但前進斜線到字符串的末尾。如果你想要做其他驗證,你就可以開始用斜線模式,以確保與五個零的文件開始,也可以在末尾添加接受的文件類型:

/\/0{5,}[^\/]*\.(jpe?g|gif|png)$/i 

細目(任何零件您或未來的讀者不知道):

/    Starts the regular expression 
    \/   A literal forward slash (escaped because '/' is a delimiter) 
    0{5,}  Five or more zeros 
    [^\/]*  Anything except a literal forward slash, zero or more times. 
    \.   A literal period (unescaped periods match anything except newlines) 
    (   start a group 
    jpe?g  jpeg or jpg (the ? makes the 'e' match zero or 1 times) 
    |   OR 
    gif  gif 
    |   OR 
    png  png 
)   End group 
    $   Assert the end of the string. 
/   End the regular expression 
i    Case insensitive.