javascript正则表达式匹配正确的网址,最后使用.com或任何其他域名

时间:2012-12-11 23:52:51

标签: javascript regex

  

可能重复:
  Check if a Javascript string is an url

我对RegEx不是很熟悉所以如果你能帮我解决这个问题会很棒。

我需要一个JS函数:

  1. 检查字符串(textarea输入)是否有任何网址。
  2. 如果是 - 请搜索找到的第一个网址并返回数组(true,url)
  3. 如果没有 - 返回数组(false,“”)
  4. 我遇到的问题是这种模式可以验证输入。

    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;
    }
    

    使用此模式,即使网址 http://www.youtube (也不是有效网址),测试==也为true。

    我需要查看完整网址: http://www.youtube.com 以及任何其他网址。

1 个答案:

答案 0 :(得分:0)

删除表达式后的\S+以排除www.youtube,并添加字边界\b。也可以省略第一个字母后的{1}