2011-10-25 116 views
2

我目前正在研究一個項目,我們要限制用戶可以輸入的字符數量。 到目前爲止,這是工作,JavaScript用於前端檢測,並在後端字符串縮短爲什麼用戶禁用js。在javascript中檢測鏈接

唯一的問題是鏈接,我們不希望將鏈接計爲字符,因爲它們會被縮短。 現在我正在尋找一種快速檢測鏈接的方法,找到該鏈接的長度並忽略它。

它的JS很簡單:

var currentLength = $(parent).find('textarea').val().length; 
var remaining = max - currentLength; 

if(remaining <= 0) { 
    $(parent).find('textarea').val($(parent).find('textarea').val().substr(0, max)); 
    remaining = 0; 
} 

任何人都可以點我在正確的方向上如何做到這一點? 也許正則表達式的東西?

+0

儘管答案http://stackoverflow.com/questions/1500260/detect-urls-in-text-with-javascript – vzwick

+0

的可能的複製已被除外:你是什麼在後端用於識別縮短時的鏈接?最有可能的是它也是一個正則表達式,並且很可能應該可以使用相同的正則表達式(可能針對語法差異進行調整),這會更可靠。 – RoToRa

+0

是的,我在後端也使用正則表達式,但由於缺乏對它的瞭解,我無法將它移植到JS。 –

回答

1
var urlRegex = /(https?:\/\/[^\s]+)/g; 
return text.replace(urlRegex, ''); 

Detect URLs in text with JavaScript

+0

謝謝,我完全忽略了一個,現在這個正則表達式只在它們前面檢測到與http的鏈接。 由於我真的與正則表達式不好,我怎麼也能夠檢測到在它前面的www鏈接?甚至只是google.com? –

+0

看看[regexlib](http://regexlib.com/Search.aspx?k=URL&AspxAutoDetectCookieSupport=1),你會發現更多的正則表達式比你想知道的...(我討厭正則表達式;) – PiTheNumber

+0

Brrrr,那個網站嚇到我了...... 謝謝:) –