某些URL的jQuery验证错误

时间:2012-02-14 12:12:09

标签: jquery jquery-plugins jquery-validate

我一直在寻找这个问题的答案,并且想知道是否有人遇到过同样的问题。

jQuery.validation插件工作正常,通常,只是有一些URL无法正确验证,我正在努力弄清楚原因(或有效的解决方法)。

普通网址工作正常,例如http://www.play.com,但以下网址始终无法验证:

  

http://www.play.com/DVD/Blu-ray/4-/21404340/Transformers-3-Dark-Of-The-Moon-3D/Product.html?searchstring=&searchtype=allproducts&searchsource=2&searchfilters=ae212 {644651}%2BC {600}%2b是安培; urlrefer =搜索

我猜是因为{}字符。

我正在使用通用验证插件用法:

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

对此问题的任何见解都将非常感激。

1 个答案:

答案 0 :(得分:0)

Yes, those characters are invalid.您可能希望采用的一个选项是在您的URL输入上有一个on change事件,用URI编码的值替换当前值。

$('.url-field').change(function() { $(this).val(encodeURI($(this).val())); });