我的html代码:-

<input type="text" id="test">
<span class="display"></span>


我的jQuery代码:

$("#test").keyup(function(e){
  $('span.display').text(formatCurrency($(this).val()));
  this.value = this.value.replace(/[^0-9\.]/g,'');
});


演示和完整代码如下:https://jsfiddle.net/oscar11/nbLbb037/

我希望输入文本可以输入以下内容:-10000000

在班级显示中显示的结果是:-10.000.000

如何添加减号(-)?

最佳答案

需要更改如下代码:

output = output.reverse();
if(output[1] == '.'){
   output.splice(1, 1);
   formatted = output.join("");
}else{
   formatted = output.join("");
}


一切都会好起来的。

例:-



$("#test").keyup(function(e){

  $('span.display').text(formatCurrency($(this).val()));
  this.value = this.value.replace(/[^0-9\.-]/g,'');
});


// format currency on pagu and revisi
var formatCurrency = function(num){
    var str = num.toString().replace("$", ""), parts = false, output = [], i = 1, formatted = null;
    if(str.indexOf(",") > 0) {
        parts = str.split(",");
        str = parts[0];
    }
    str = str.split("").reverse();
    for(var j = 0, len = str.length; j < len; j++) {
        if(str[j] != ".") {
            output.push(str[j]);
            if(i%3 == 0 && j < (len - 1)) {
                output.push(".");
            }
            i++;
        }
    }
     output = output.reverse();
     if(output[1] == '.'){
        output.splice(1, 1);
        formatted = output.join("");
     }else{
        formatted = output.join("");
     }
    return(formatted + ((parts) ? "," + parts[1].substr(0, 1) : ""));
};

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="test">
<span class="display"></span>

关于javascript - 如何在jquery中添加减号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43829221/

10-09 21:39