Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在输入和输出中添加逗号_Javascript_Jquery - Fatal编程技术网

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");