检查没有http和“.com”的网址

时间:2013-03-20 04:23:27

标签: regex

我想检查给定的网址是否有效。

它应该接受:

www.gmail.com

并且应该拒绝:

www.gmail

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

它有效,但如果给定的输入是www.gmail,它确实接受了它。

任何想法?

更新

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

3 个答案:

答案 0 :(得分: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中

您可以使用网址验证

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

答案 1 :(得分:0)

您可以使用Jquery Validate插件。

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

你可以找到它here

答案 2 :(得分: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");
}

效果最佳。