我現在有這個,(我在這裏找到了代碼)。JavaScript拒絕我所有的RegExs,怎麼回事?
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
someText.replace(exp, "<a href='$1'>$1</a>");
它將取代在someText任何http://URL一個適當<a href>
,但我也需要它來搭配WWW。沒有http。我在RegEx Lib上找到了這個RegEx。
((http\://|https\://|ftp\://)|(www.))+(([a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(/[a-zA-Z0-9%:/-_\?\.'~]*)?
並嘗試了在正則表達式檢查現場,http://www.nvcc.edu/home/drodgers/ceu/resources/test_regexp.asp
據我想要的字符串相匹配。但是,當我把它放到我的exp變量中時,JavaScript會炸燬並導致錯誤。
我甚至嘗試將它作爲一個新的RegExp新的像這樣。
var exp = new RegExp(((http\://|https\://|ftp\://)|(www.))+(([a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(/[a-zA-Z0-9%:/-_\?\.'~]*)?);
但同樣的事情發生。
任何想法我做錯了什麼?
感謝, 鋼鈑
你可能需要逃脫你的逃生。也許甚至多次。 – 2010-07-13 08:45:53
你的問題與jQuery毫無關係。您使用的語言是JavaScript,jQuery是一個用JavaScript編寫的框架,用於幫助DOM操作。 – 2010-07-13 08:54:03
@Andy E但我使用JQuery更具說服力。對於我所知道的,可能有一些JQuery函數很容易做到這一點。通過說明JQuery你知道我在使用JavaScript,但是如果我用JavaScript標記它,你不知道是否使用JQuery。 – 4imble 2010-07-13 09:15:29