//这个函数的主要作用为提取出文本字段中的链接,其中包括HTTP/HTTPS/MAGNET/FTP/FILE,并封装成数组返回


function strRegxUrl(url){

        // var strRegex= /((https?|http|ftp|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|])|(www.[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|])/g;

        // var strRegex= /(https?|http|ftp|file|ed2k):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/g;

        var strRegex= /(ed2k:\/\/[\s\S]*?\|\/)|(magnet:\?xt=urn:btih:[\S]*\s?)|((https?|http|ftp|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|])/gi;

        var regx=new RegExp(strRegex);

        var arr = url.match(regx);

        var strcopy = new String(url);

        var strOpertor = new String(url);

        var strArr = [];

        var laseIndex = 0;

        if(arr != null)

        {

            for (var i = 0; i < arr.length; i++) {


                var findi = strcopy.indexOf(arr[i],laseIndex);


                var findstr1 = strOpertor.substring(laseIndex,findi);

                strArr.push(findstr1);


                var length = arr[i].length;

                var findstr2 = strOpertor.substring(findi,findi+length);

                strArr.push(findstr2);


                laseIndex = findi+length;

            }

            if(strOpertor.length > laseIndex)

            {

                var findstr = strOpertor.substring(laseIndex,strOpertor.length);

                strArr.push(findstr);

            }

        }

       

        return strArr;

    }

Created with the Personal Edition of HelpNDoc: Easily create Web Help sites