Javascript JS正则表达式检查url
这个问题已经被问过无数次了,但我找不到一个适合我需要的解决方案 我需要正则表达式来检查字符串是否包含url,然后获取它。所以我有这个:Javascript JS正则表达式检查url,javascript,regex,Javascript,Regex,这个问题已经被问过无数次了,但我找不到一个适合我需要的解决方案 我需要正则表达式来检查字符串是否包含url,然后获取它。所以我有这个: var regexToken = /(((ftp|https?):\/\/)[\-\w@:%_\+.~#?,&\/\/=]+)|((mailto:)?[_.\w-]+@([\w][\w\-]+\.)+[a-zA-Z]{2,3})/g; while( (matchArray = regexToken.exec( source )) !==
var regexToken = /(((ftp|https?):\/\/)[\-\w@:%_\+.~#?,&\/\/=]+)|((mailto:)?[_.\w-]+@([\w][\w\-]+\.)+[a-zA-Z]{2,3})/g;
while( (matchArray = regexToken.exec( source )) !== null )
{
var result = matchArray[0];
}
return result;
这可以检索:
- http(s)|
- http(s)|
- http(s)|
- www.domain.com/with/path
怎么做?我真的不懂正则表达式…像这样的东西可能会有帮助:
/(((ftp|https?):\/\/|www\.)[continue from here]/
这将启动匹配,允许
ftp://
,http://
,https://
或www.
尝试通过这种方式匹配不同格式的url。例如
var re = /^((ftp|https?):\/\/|www\.).*/gm;
var str = 'http://domain.com\nhttps://domain.com\nftp://domain.com\nftp://www.domain.com\nhttp://www.domain.com\nhttps://www.domain.com\nhttp://www.domain.com/with/path\nhttps://www.domain.com/with/path\nftp://www.domain.com/with/path\nwww.domain.com/with/path \n\n';
var m;
while ((m = re.exec(str)) != null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
}
检查一下,我不知道这对我有什么帮助?看看这个