Javascript Jquery动态输入字段中印度货币的输入屏蔽
我想在输入框中写入时,按照印度货币显示掩码 我正在使用InputMask jquery进行屏蔽: 我想,无论用户在哪里尝试写下文本输入的金额,然后它应该添加自动逗号,按照印度货币格式 我试图通过使用以下代码来实现这一点Javascript Jquery动态输入字段中印度货币的输入屏蔽,javascript,jquery,input,masking,Javascript,Jquery,Input,Masking,我想在输入框中写入时,按照印度货币显示掩码 我正在使用InputMask jquery进行屏蔽: 我想,无论用户在哪里尝试写下文本输入的金额,然后它应该添加自动逗号,按照印度货币格式 我试图通过使用以下代码来实现这一点 <input type="text" name="amount" class="amount_field"/> $('.amount_field').inputmask("numeric", { radixPoint: ".",
<input type="text" name="amount" class="amount_field"/>
$('.amount_field').inputmask("numeric", {
radixPoint: ".",
groupSeparator: ",",
digits: 3,
autoGroup: true,
prefix: '',
rightAlign: false,
allowMinus: false,
// oncleared: function () { self.Value(''); }
});
$('.amount_字段').inputmask(“数字”{
半径点:“.”,
分组分隔符:“,”,
数字:3,
自动组:是的,
前缀:“”,
rightAlign:false,
allowMinus:false,
//oncleared:function(){self.Value(“”);}
});
电流输出:
2500000
所需产出:
2500万
按照印度货币,我需要昏迷,先是在3点之后,然后是2点
任何帮助都将受到感谢。我已经创建了自己的。希望这对你也有用
var number = document.getElementsByClassName("amount_field")[0].value;
number.toLocaleString('en-IN');
$(文档).ready(函数(){
$(“.amount\u字段,amount\u字段2”).keyup(函数(){
convertToINRFormat($(this).val(),$(this));
});
convertToINRFormat($(“#金额#字段”).val(),$(“#金额#字段”);
convertToINRFormat($(“#amount_field2”).val(),$(“#amount_field2”);
});
函数转换为InrFormat(值,输入字段){
变量编号=编号(值.替换(/,/g,”);
//印度使用千/十万/百万分之二的分离器
$('#result').html(number.tolocalString('en-IN'));
$('#result1').html(number.toLocaleString('en-IN'){
最大分数位数:2,
风格:“货币”,
货币:“印度卢比”
}));
$(inputField).val(number.toLocaleString('en-IN');
}
我通过更改事件解决了此问题:
<input type="text" name="masknumber" id="masknumber" onchange="return changeData(this.value);">
<script type="text/javascript">
function changeData(x){
alert(x);
x=x.toString();
var lastThree = x.substring(x.length-3);
var otherNumbers = x.substring(0,x.length-3);
if(otherNumbers != '')
lastThree = ',' + lastThree;
var res = otherNumbers.replace(/\B(?=(\d{2})+(?!\d))/g, ",") + lastThree;
document.getElementById('masknumber').value = res;
}
</script>
函数更改数据(x){
警报(x);
x=x.toString();
var lastThree=x.子串(x.长度-3);
var otherNumbers=x.substring(0,x.length-3);
如果(其他数字!='')
lastThree=','+lastThree;
var res=otherNumbers.replace(/\B(?=(\d{2})+(?!\d))/g,“,”)+lastThree;
document.getElementById('masknumber')。value=res;
}
我已经用简单的方法解决了您的问题,您可以试试
注意:在最新版本的InputMask中添加了印度货币样式。请在此处查看最新版本:
输入掩码((,99){1}(,999){1}),
{
positionCaretOnClick:“radixFocus”,
_辐射度:是的,
半径点:“.”,
数字输入:正确,
占位符:“0”
}
).mask(“.inputmasking”);
小提琴的工作示例:我在寻找动态掩蔽,而不是静态掩蔽。像这样。但是印度货币。请解释你的答案。代码式答案并不总是对学习者有帮助。使用按钮添加更多有用的文本。您正在使用哪个插件?请在问题中添加有关
inputmask()
函数详细信息的链接。这可以帮助@techie_28了解一些情况。谢谢,是的,这解决了一个问题。请告知您的答案。但如果文本字段处于编辑模式,该怎么办。表示用户有一些预填充值。然后格式需要以正确的格式显示,屏蔽需要工作。如果多个输入字段具有相同的类和预填充值,会发生什么情况。?请不要为每个都使用。需要多次编写该函数???不,您不需要多次编写该函数,也不需要循环。是的,这是真的。我很感激你的回答。但我在寻找精确的掩蔽规则,而不是jquery模糊、键控或任何事件。
<input type="text" class="inputmasking" value=""/>
<input type="text" class="inputmasking" value=""/>
<input type="text" class="inputmasking" value=""/>
<script type="text/javascript">
Inputmask("(,99){*|1}(,999){1|1}",
{
positionCaretOnClick: "radixFocus",
_radixDance: true,
radixPoint: ".",
numericInput: true,
placeholder: "0"
}
).mask(".inputmasking");
</script>