Javascript 在输入和输出中添加逗号
我一直在尝试将输入视为货币并使用逗号。我的输出显示了带小数点的货币,但缺少逗号。我曾试图使这两件事一起工作,但我不断地遇到错误。感谢您的帮助Javascript 在输入和输出中添加逗号,javascript,jquery,Javascript,Jquery,我一直在尝试将输入视为货币并使用逗号。我的输出显示了带小数点的货币,但缺少逗号。我曾试图使这两件事一起工作,但我不断地遇到错误。感谢您的帮助 function calculate(){ var savingsVal = ($('#savingsVal').val()); var totalSavings = 0; if (filterValues(savingsVal)) { totalSavings = savingsVal * 0.15;
function calculate(){
var savingsVal = ($('#savingsVal').val());
var totalSavings = 0;
if (filterValues(savingsVal)) {
totalSavings = savingsVal * 0.15;
}
$('#totalSavings').val('$' + totalSavings);
}
function filterValues(eVal){
if (eVal.length == 0)
{
$('.errorMessage').text('Insert value');
$('.equipValCont').addClass('has-error');
return false;
}
else if(!$.isNumeric(eVal)){
$('.errorMessage').text('Please, enter only numbers');
$('.equipValCont').addClass('has-error');
return false;
} else{
$('.equipValCont').removeClass('has-error');
return true;
}
}
$('#calculator').submit(function(e){
e.preventDefault();
calculate();
});
这样做很简单:
var string = numeral(1000).format('0,0');
不确定你是否反对在这里使用一个库,但是No.al.js很好。< /p> 你的验证,而不是检查<代码>否则,如果($.iSimple(EVILIC)(EVAL)){Re/EXECUT>使用ReGEX来验证你的值。你必须考虑“,”因为你的货币将允许“有效”,下面作为样本
var currencyStr= "1,123.20";
if (/^\d{0,4}(\.\d{0,2})?$/.test(currencyStr))
alert("currency is valid");
你应该改变
if (/^\d{0,4}(\.\d{0,2})?$/.test(currencyStr))
alert("currency is valid");
到
我希望这对你有帮助
更新
如果要在输出中添加正确的逗号,请尝试以下操作:
函数formatStr(str){
str=str.replace(/,/g,“”);
var result=str.match(/^([^\.]+)(\.\d{0,2})?$/),
newStr=“”,
integerStr=结果[1]?结果[1]:“”,
floatStr=结果[2]?结果[2]:“”,
j=0;
对于(变量i=integerStr.length-1;i>=0;i--){
如果(j==3){
newStr=整数tr[i]+“,”+newStr;
j=1;
}
否则{
newStr=整数tr[i]+newStr;
j++;
}
}
newStr=newStr+floatStr;
console.log(newStr);
返回新闻TR;
}
formatStr(“12.34”);
formatStr(“123”);
formatStr(“1234.56”);
formatStr(“12345.6”)
我试着让这两件事一起工作
在哪里?我看不出有人试图添加,
我把那部分去掉了,因为它不工作。如果有帮助的话,我可以重新添加我所做的。好吧,那么至少需要你尝试解决你的问题:pmy抱歉,我可以添加我在第一次尝试时所做的不重要-您现在得到了一些答案,所以显示非工作代码没有意义:p使用本机Javascript,它同样简单…var string='$'+someNumber.toLocaleString();
我并不反对库,我尝试了digital.js,但它不起作用。但我也没有遇到任何错误。很高兴知道。我在某些项目中非常依赖digital,很容易忘记有一些本机方法可以完成这样的简单事情。不过,您可能想使用。tolocalesting('en'))
强制使用逗号…因为不同的语言环境,例如de
交换
和,
的含义,即123.456.789,12
…和印度的每隔一个数字(前三个之后)放置逗号12,34,56789.12
我尝试了您的建议,但无法得到结果。下面是我添加的代码。我提前道歉,我仍在学习中。它向我发出警告,提示货币有效,但它没有在我的输入或输出中添加正确的逗号
if (/^(\d{0,3})(,\d{0,3})*(\.\d{0,2})?$/.test(currencyStr))
alert("currency is valid");