jquery validate - 在验证发生之前替换字段中的逗号

时间:2013-03-14 17:12:20

标签: jquery jquery-validate

即使使用当前的验证插件,如果要使用min验证,也不能在值中使用逗号。我在github上发现了几个月前(11个月)提交修补程序以修改源.js文件,但它仍未发布。

因此,我没有修改我的源.js文件,而是试图找出在验证之前如何替换逗号。

我试过这样的事情:

$("#amount").blur(function(){
    var val = $(this).val().replace(/\,/g,'');
    $(this).val( val ); 
});
$("#transferForm").validate({
    .......
});

但它首先运行验证,因为min而失败,然后替换该值。我不一定希望它失败验证并告诉用户删除逗号 - 我只是希望它在运行min规则之前删除逗号。

2 个答案:

答案 0 :(得分:5)

甚至不要让他们输入逗号

$("#amount").keyup(function(){
    var val = $(this).val().replace(/\,/g,'');
    $(this).val( val ); 
});

演示:http://jsfiddle.net/calder12/tdxKv/

答案 1 :(得分:0)

试试这个http://jsfiddle.net/MWjZr/

$(function(){
  $("input[id=sometexboxid]").each(function(){
      this.value=this.value.replace(/,/g, "");
  }).on('keyup', function(){
      this.value=this.value.replace(/,/g, "");
  })
});

有关详细说明,请参阅http://davidwalsh.name/javascript-replace文章。