0

可能重复:
检查字符串是否为有效 URL 的最佳正则表达式是什么?

我想验证从用户那里获取的 url... 就像http://www.google.com我想验证 url (.com) 的最后一部分我继续在网上搜索但没有找到正确的答案。我的代码是

function validate()
{
    var url = document.getElementById("url").value;

    var pattern = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;


    if (pattern.test(url)) {
        alert("Valid Url");
        return true;
    } 
        alert("Please Input Right URL");
        return false;

}
4

1 回答 1

1
function ValidURL(str) {
   var pattern = new RegExp('^(https?:\/\/)?'+ // protocol
      '((([a-z\d]([a-z\d-]*[a-z\d])*)\.)+[a-z]{2,}|'+ // domain name
      '((\d{1,3}\.){3}\d{1,3}))'+ // OR ip (v4) address
      '(\:\d+)?(\/[-a-z\d%_.~+]*)*'+ // port and path
      '(\\?[;&a-z\d%_.~+=-]*)?'+ // query string
      '(\#[-a-z\d_]*)?$','i'); // fragment locater
   if(!pattern.test(str)) {
      alert("Please enter a valid URL.");
      return false;
   } else {
      return true;
   }
}
ValidURL('google.com');

检查你的控制台

于 2012-12-11T12:19:22.750 回答