2013-03-20 56 views
0

我想檢查給定的url是否有效。檢查網址沒有http和「.com」

應該接受:

www.gmail.com 

,並應拒絕:

www.gmail 

我試圖用這個/((ftp|http|https):\/\/)?(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/

它的工作原理,但如果給定的輸入www.gmail它接受它。

任何想法?

UPDATE

http://jsfiddle.net/aabanaag/VktaX/

+0

可能重複[什麼是最好的正則表達式來檢查一個字符串是一個有效的URL?](http://stackoverflow.com/questions/161738/what-is-the-best-regular-expression-to -check-if-a-string-is-a-valid-url) – Toto 2013-03-20 10:00:45

+0

在我看來,這個問題很重複: http://stackoverflow.com/questions/161738/what-is-the-best-正則表達式來檢查,如果字符串是一個有效的網址你檢查了嗎? – 2013-03-20 07:40:02

回答

0

試試這個。它爲我工作

<script type="text/javascript"> 
    function validate() { 
     var url = document.getElementById("url").value; 
     var pattern = new RegExp("^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){1}([0-9A-Za-z]+\.)"); 
     if (pattern.test(url)) { 
      alert("Url is valid"); 
      return true; 
     } 
      alert("Url is not valid!"); 
      return false; 

    } 
</script> 

在jQuery中

您可以使用URL驗證

<input type="text" class="url"/> 
+0

@ Dreyfus15你檢查了這個 – PSR 2013-03-20 04:27:15

+0

試過了。但「www.gmail.com」即使「www.gmail」也被接受。它不能被接受,因爲「www.gmail」不是一個有效的網址。 – jongbanaag 2013-03-20 04:36:07

+0

@ Dreyfus15哪一個你使用。它正在爲我正常工作 – PSR 2013-03-20 04:36:59

0

你可以使用Jquery Validate插件。

$("#myform").validate({ 
    rules: { 
    field: { 
     required: true, 
     url: true 
    } 
    } 
}); 

你可以找到關於它here

0

解決我的問題:

發現這一點的同時谷歌搜索在互聯網上。

/^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){1}[0-9A-Za-z\.\-]*\.[0-9A-Za-z\.\-]*$/ 


var pattern1 = /^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.){1}[0-9A-Za-z\.\-]*\.[0-9A-Za-z\.\-]*$/; 

var result = "www.gmail"; 

if (pattern1.test(result)) { 
    console.log("test"); 
}else{ 
    console.log("fail"); 
} 

它的效果最好。