cyc*_*ero 16 jquery maskedinput
在我的Web应用程序中,我有一个名为"预算"的输入字段,用户可以在其中输入项目的建议预算.我需要创建一个蒙版输入,以便在用户输入输入字段时自动将输入的数量设置为以下格式:
1 000
10 000
100 000
我在整个互联网上搜索过,但似乎没有找到必要的.任何人都可以指向一个合适的插件或者建议一个自定义解决方案吗?
提前致谢.
Phi*_*ler 15
尝试以下任何一个:
http://plugins.jquery.com/tag/currency/
这些也可能包含您正在寻找的内容:
http://plugins.jquery.com/tag/mask/
我使用以下代码来实现货币格式而不使用其他插件:
$('input.money-bank').on('keydown',function(e){
// tab, esc, enter
if ($.inArray(e.keyCode, [9, 27, 13]) !== -1 ||
// Ctrl+A
(e.keyCode == 65 && e.ctrlKey === true) ||
// home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
return;
}
e.preventDefault();
// backspace & del
if($.inArray(e.keyCode,[8,46]) !== -1){
$(this).val('');
return;
}
var a = ["a","b","c","d","e","f","g","h","i","`"];
var n = ["1","2","3","4","5","6","7","8","9","0"];
var value = $(this).val();
var clean = value.replace(/\./g,'').replace(/,/g,'').replace(/^0+/, '');
var charCode = String.fromCharCode(e.keyCode);
var p = $.inArray(charCode,a);
if(p !== -1)
{
value = clean + n[p];
if(value.length == 2) value = '0' + value;
if(value.length == 1) value = '00' + value;
var formatted = '';
for(var i=0;i<value.length;i++)
{
var sep = '';
if(i == 2) sep = ',';
if(i > 3 && (i+1) % 3 == 0) sep = '.';
formatted = value.substring(value.length-1-i,value.length-i) + sep + formatted;
}
$(this).val(formatted);
}
return;
});
Run Code Online (Sandbox Code Playgroud)
JSFiddle:https://jsfiddle.net/gt2Ly5rt/6/
使用此脚本,用户将只输入数字,脚本将自动放置十进制和千位分隔符(它被硬编码为BRL格式,但您可以自定义它).
例如,如果用户输入:
希望它可以帮助某人.
| 归档时间: |
|
| 查看次数: |
89754 次 |
| 最近记录: |