Javascript 检查网站url的正则表达式

Javascript 检查网站url的正则表达式,javascript,regex,Javascript,Regex,可能重复: 我有一个文本框的形式,用户可以输入任何网站的网址。我想通过正则表达式检查该url是否有效。它只接受这样的“或”www.google.co.in“ 我用了一个表达式,比如 /((http | https | ftp):\/\/(www | www | www))\.[A-Za-z]{3}/ 它正在工作,但当我输入ww.google.co.in时,它表示有效 有人能帮我吗。 在服务器端执行请求并检查200 OK。不要相信客户 几周前,我们在项目中需要它,我想我们使用了这个 funct

可能重复:

我有一个文本框的形式,用户可以输入任何网站的网址。我想通过正则表达式检查该url是否有效。它只接受这样的“或”www.google.co.in“

我用了一个表达式,比如

/((http | https | ftp):\/\/(www | www | www))\.[A-Za-z]{3}/

它正在工作,但当我输入ww.google.co.in时,它表示有效

有人能帮我吗。

  • 在服务器端执行请求并检查200 OK。不要相信客户

    • 几周前,我们在项目中需要它,我想我们使用了这个

      function isUrl(s) {
          var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
          return regexp.test(s);
      }
      
      更新: 我还在努力:

      (ftp|http|https):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?
      

      你看到这个了吗?那么,因为您不信任客户端(实际上不应该),您愿意将服务器端模块变成DDOS中继吗?这段代码可以验证URL的正确性,而不是代表客户端发出实际的HTTP请求,你不这么认为吗?实际上,这取决于你的用例。您可能只想检查该域是否存在,或者您可能会生成一个屏幕截图,或者您可能想获取一个RSS提要。。。如果你打算使用这个url,你最好设置一个速率限制。不,它没有按照我的要求工作。它不接受www.google.com。它只接受