正则表达式如何验证URL

时间:2011-11-24 15:25:40

标签: javascript regex

  

可能重复:
  Regex to match URL

我写了一个正则表达式来验证以下网址格式

  1. http://www.abc.com
  2. www.abc.com
  3. abc.com
  4. http.www.abc.com
  5. 有人能给我一个正则表达式吗?

    我以前使用的正则表达式有一些错误,任何人都可以解决它吗?

    /^((http|http|HTTP|HTTP):\/\/+(www|WWW\.)?[A-Za-z0-9\-\.]{1,}\.[A-Za-z])|((www|WWW\.)?[A-    Za-z0-9\-\.]{1,}\.[A-Za-z])/i.test(value);
    

2 个答案:

答案 0 :(得分:2)

试试这个表达式:

^(http(?:s)?\:\/\/[a-zA-Z0-9\-]+(?:\.[a-zA-Z0-9\-]+)*\.[a-zA-Z]{2,6}(?:\/?|(?:\/[\w\-]+)*)(?:\/?|\/\w+\.[a-zA-Z]{2,4}(?:\?[\w]+\=[\w\-]+)?)?(?:\&[\w]+\=[\w\-]+)*)$

答案 1 :(得分:0)

试试这个:

$url = "http://something.com/";
if (preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $url)) {
    echo "Your url is ok.";
} else {
    echo "Wrong url.";
}