0

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

它应该接受:

www.gmail.com

并且应该拒绝:

www.gmail

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

它可以工作,但如果给定的输入是www.gmail它确实接受它。

有任何想法吗?

更新

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

4

3 回答 3

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"/>
于 2013-03-20T04:25:01.570 回答
0

您可以为此使用 Jquery Validate 插件。

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

你可以在这里找到它

于 2013-03-20T04:29:20.690 回答
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");
}

它效果最好。

于 2013-03-21T09:41:17.750 回答