2014-11-06 148 views
0

我想知道一种方法,只允许在表单输入中使用jQuery的数字和多个点。只允许在jQuery表单输入数字和多个点

的情况是,表单输入持有版本名​​称和版本名称可以有值像6.0.2345而据我的研究去了,我能得到仅由下面的代码工作的数字:

$('.number').keydown(function(event) { 
    if(event.which < 46 
    || event.which > 59) { 
     event.preventDefault(); 
    } // prevent if not number/do 
}); 

但是,这只允许数字,不允许我使用退格或删除。我可以使用这种方法的任何解决方法,以便我只允许在输入文件中使用多个点和数字。

+0

使用正则表达式,而不是 – 2014-11-06 11:24:33

+0

对输入执行一个正则表达式测试已经进入 – Quince 2014-11-06 11:25:17

+0

http://stackoverflow.com/questions/82064/a-regex-for-version-number-parsing之后 - 同样的问题当在正则表达式中被问到 – Quince 2014-11-06 11:26:00

回答

0

终于来到了这个有效的答案。

$(".submit").on('click',function(e){ 
     e.preventDefault(); 
     var test_val = $(".test").val(); 
     var test_regex = /^(\*|\d+(\.\d+){0,3}(\.\*)?)$/i; 
     if(!test_regex.test(test_val)){ 
      alert("This is not a valid entry"); 
     } 
}); 
相关问题