Javascript 2位小数的输入掩码
我在使用,我怎样才能得到像Javascript 2位小数的输入掩码,javascript,jquery,input-mask,jquery-inputmask,Javascript,Jquery,Input Mask,Jquery Inputmask,我在使用,我怎样才能得到像22.30或2.15这样的两位小数?类似于在输入掩码上设置的“货币”,但没有逗号(根据值长度自动生成)和货币符号。下面是我尝试过的东西的片段,但不幸的是它们都不起作用,请提供任何帮助、建议、想法、线索和建议 $(文档).ready(函数(){ $(“.decimal”).inputmask('decimal',{rightAlign:true}); $(“.currency”).inputmask('currency',{rightAlign:true}); $(“.
22.30
或2.15
这样的两位小数?类似于在输入掩码上设置的“货币”,但没有逗号(根据值长度自动生成)和货币符号。下面是我尝试过的东西的片段,但不幸的是它们都不起作用,请提供任何帮助、建议、想法、线索和建议
$(文档).ready(函数(){
$(“.decimal”).inputmask('decimal',{rightAlign:true});
$(“.currency”).inputmask('currency',{rightAlign:true});
$(“.custom1”).inputmask({mask:***[.*]”,贪婪:false,定义:{'*':{validator:[0-9]“}}},rightAlign:true});
$(“.custom2”).inputmask({'alias':'decimal',rightAlign:true,'groupSeparator':','autoGroup:true});
$(“.custom3”).inputmask({‘别名’:‘十进制’,‘掩码’:“**[.*]”,rightAlign:true});
});代码>
根据定义数字的正确语法是使用9
字符,因此在您的情况下,这将是99[.99]
。试试这个:
$(文档).ready(函数(){
$(“.decimal”).inputmask('decimal'{
rightAlign:正确
});
$(“.currency”).inputmask(‘currency’{
rightAlign:正确
});
$(“.custom1”).inputmask({
面具:“99[.99]”,
贪婪:错,
定义:{
'*': {
验证程序:“[0-9]”
}
},
rightAlign:正确
});
$(“.custom2”).inputmask({
'别名':'十进制',
右对齐:对,
“groupSeparator':”,
“自动组”:正确
});
$(“.custom3”).inputmask({
'别名':'十进制',
'面具':“99[.99]”,
rightAlign:正确
});
});代码>
如果您的系统是英文的,请使用以下正则表达式:
$(".mask").inputmask('Regex', {regex: "^[0-9]{1,6}(\\.\\d{1,2})?$"});
如果您的系统是巴西葡萄牙语,请使用以下命令:
进口:
<script
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.15/jquery.mask.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.2.6/jquery.inputmask.bundle.min.js"></script>
这是因为在巴西葡萄牙语中,我们写的是“1.000.000,00”,而不是英语中的“1000000.00”,因此如果使用“.”系统将无法理解小数点
就是它,我希望它能帮助别人。我花了很多时间去理解它。刚刚想出了一个简单高效的方法,没有jQuery或任何库:
HTML:
我称之为西海岸蒸汽压路机(West Coast Steamroller).toFixed(2)
试试看这应该是现场输入的你能创建一个现场演示吗?@guradio:请看我的最新帖子,我在那里包括了我的代码片段。我用“$(“.decimal”).inputmask”解决了我的问题({'alias':'decimal','groupSeparator':',','autoGroup':true,'digits':2,'digitsOptional':false,'placeholder':'0.00',rightAlign:true,clearMaskOnLostFocus:!1});“谢谢,我用“$(.decimal”)解决了我的问题。inputmask({'alias':'decimal','groupSeparator':',','autoGroup':true,'digits':2,'digitsOptional':false,'placeholder':'0.00',rightAlign:true,clearMaskOnLostFocus:!1});“我不明白为什么我做$('decimal.decimal')。输入掩码('decimal;
它不起作用。还有一件事要导入吗?@John如果不看你的代码,我真的帮不了你。我建议你开始自己的问题,包括所有相关的代码。
<input class="mask" type="text" />
$(".mask").inputmask('Regex', {regex: "^[0-9]{1,6}(\\,\\d{1,2})?$"});
<input type="number" oninput="inputChange()" />
function inputChange(){
let value = Number(document.activeElement.value);
let pos = document.activeElement.selectionStart;
document.activeElement.value = value.toFixed(2);
document.activeElement.selectionStart = pos;
document.activeElement.selectionEnd = pos;
}