2010-09-22 51 views
0

有沒有辦法在javascript書籤中使用通配符?Javascript中的Wild Card Bookmarklet

例如,我有這樣的:

javascript:(function(){var b=document.getElementsByName('send');for(var j=0;j<b.length;j++){if(b[j].value.match(/^Send Pattarapim a Thank you gift$/i)){b[j].click();break;}}})() 

這偉大的工作時,該項目是爲 「Pattarapim」。但是這個「名字」每次都會改變。無論Pattarapim的位置是什麼,我可以做任何事情來讓JS工作嗎?

謝謝!

回答

0

您可以從

/^Send Pattarapim a Thank you gift$/i 

正則表達式改爲

/^Send .* a Thank you gift$/i 

.指「在這裏匹配任何字符」,而*下它的意思是「匹配零個或多個前面的事」。所以它們的結合意味着「在這裏匹配零個或更多的任何角色」。 (或者您可以使用+而不是*; +的意思是「匹配一個或多個」。)請注意,這可能太寬泛,取決於您要處理的文本,但由於您從^開始,往往會把它固定一點,它可能會很好。

+0

我只會讓這個懶惰而不是貪婪,並不是說它可能會在這種情況下有所作爲。 – NullUserException 2010-09-22 15:45:15

+0

@NullUserException:是的,也許吧,雖然他將錨定開始和結束,但我們只是說這確實是一個非常奇怪的名字。 :-) @Michael:爲了讓它變懶,只需在'*'或'+'之後加一個'?'。 – 2010-09-22 16:05:46

+0

完美運作。謝謝! – Seatbelt99 2010-09-22 17:44:17