可能重复:
检查 Javascript 字符串是否为 url
我对 RegEx 不是很熟悉,所以如果你能帮我解决这个问题,那就太好了。
我需要一个 JS 函数,它将:
- 检查字符串(textarea 输入)是否有任何 url。
- 如果是 - 搜索找到的第一个 url 并返回 array(true,url)
- 如果没有 - 返回数组(假,“”)
我遇到的问题是这种验证输入的模式。
function _is_url(url) {
var pattern = /(((ht|f)tps?\:\/\/)?([a-zA-Z]{1}([\w\-]+\.)+([\w]{2,5})(:[\d]{1,5})?))\S+/i;
var result = new Array();
var testing = pattern.test(url);
if(testing) {
var newurl = url.match(pattern);
result[0] = true;
result[1] = newurl[0];
console.log(result[1]);
}
else {
result[0] = false;
result[1] = "";
}
return result;
}
使用这种模式,即使 url 是http://www.youtube这不是一个有效的 url,testing == true 也是如此。
我需要检查完整的网址:http ://www.youtube.com和任何其他网址。