无法得到为什么jQuery验证插件的URL自定义验证方法不起作用

时间:2012-10-04 06:26:33

标签: regex jquery-validate url-validation

我正在尝试验证网址。我想让这些URL通过验证:

    www.site.com

    www.super.co.uk

我在此网站查看我的RegEx - http://www.rubular.com/

这是我的RegEx:

    /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/

它在Rubular网站上工作,但当我尝试在我的自定义jQuery验证插件方法中使用它时 - 它经常告诉我,它无效:

     jQuery.validator.addMethod("complete_url", function(val, elem) {
// if no url, don't do anything
if (val.length == 0) { return true; }

    return /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/.test(val);
   });

   ...
   rules: {
         'website[url]': {
            required: true,
            url:  "complete_url",
            remote: {
            url: "http://127.0.0.1:3000/checkurl"
                  //url: "http://91.228.126.168:3000/checkurl"
            }
         }
        }

1 个答案:

答案 0 :(得分:0)

/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/.test("www.super.co.uk");在chrome的控制台中返回true,因此它可能与您的插件有关。