2017-03-07 75 views
5

嘿,我有一个代码,允许我几个事情,如只有数字退格 如何更改正则表达式,它将允许按“输入”,并只允许1个逗号逗号最多2个数字?只允许1个逗号和2个小数点后

$("[name=price]").keydown(function(e){ 
    if(e.keyCode == 110 || e.keyCode == 190) 
    { 
     e.preventDefault(); 
     $(this).val($(this).val() + ','); 
    } 
    if (/\d|,+|[b]+|-+/i.test(e.key)){ 

     }else{return false } 
}) 
+0

什么具有u试过这么远? – namzaG

回答

3

这里有点详细的版本。这将接受箭头键,选项卡,输入,修饰等

$("[name=price]").keydown(function(e) { 
 
    if (e.keyCode == 110 || e.keyCode == 190 || e.keyCode == 188) { 
 
    if ($(this).val().indexOf(',') > -1) { 
 
     return false; 
 
    } else { 
 

 
     e.preventDefault(); 
 
     $(this).val($(this).val() + ','); 
 
    } 
 
    } 
 
    else if (e.keyCode < 47) { 
 
    
 
    } 
 
    else if (/\d|,+|-+/i.test(e.key)) { 
 
    if ($(this).val().indexOf(',') > -1) { 
 
     if ($(this).val().substr($(this).val().indexOf(',') + 1).length >= 2) { 
 
     return false; 
 
     } 
 
    } 
 

 
    } else { 
 
    return false 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input name="price" /> 
 
<input name="price" /> 
 
<input name="price" />

+0

如果我使用这个我不能填写更多的数字 –

+0

你检查小提琴吗?它适用于我的浏览器.. – Sami

+0

哎呀,我忘了说,我有更多的输入文件具有相同的名称,现在它将对所有的人都有效果(对不起) –

相关问题