我想檢查如果src有超過五個連續的零。例如http://domain.com/images/00000007.jpg會匹配,但http://domain.com/images/0000_1.jpg不會。這是我迄今爲止的,但它似乎沒有工作。有什麼建議麼?Javascript匹配,如果變量有超過五個零
if (src.match(/0{5,}$/)) {
match found
}
else {
no match found
}
我想檢查如果src有超過五個連續的零。例如http://domain.com/images/00000007.jpg會匹配,但http://domain.com/images/0000_1.jpg不會。這是我迄今爲止的,但它似乎沒有工作。有什麼建議麼?Javascript匹配,如果變量有超過五個零
if (src.match(/0{5,}$/)) {
match found
}
else {
no match found
}
你應該從一開始的字符串^
匹配零,即
if (/^0{5,}/.test(src)) { ... }
如果您需要在字符串中的任何地方匹配連續5個零,則省略任何^
或$
。
已更新:在你的情況下,你可以使用類似if (/\/0{5,}/.test(src)) { ... }
的東西。
他應該嗎?他只說「有超過5個連續的零」 - 不是「從開始」 - 我在想'/ 0 {5} /'應該可以正常工作... – FrankieTheKneeMan 2013-04-23 23:15:35
啊因爲'src'是一個完整路徑文件名,也許是'/ \/0 {5,} /'? – 2013-04-23 23:17:12
我修改了這個問題。 src變量將具有完整的url。對困惑感到抱歉。 – Tony 2013-04-23 23:18:13
作爲替代你也可以使用indexOf(),與此類似:
if(src.indexOf('00000') > -1){
alert('matchFound');
} else {
alert('no match found');
}
試試這個關於大小:
/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.
'$'將您的正則表達式錨定到字符串的末尾。那是你要的嗎? – FrankieTheKneeMan 2013-04-23 23:14:43