繁体   English   中英

如何在jquery中添加减号?

[英]How can I add minus sign in jquery?

我的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> 

添加减号非常简单,只需替换

this.value = this.value.replace(/[^0-9\.]/g,'');

与以下

this.value = this.value.replace(/[^0-9\.-]/g,'');

更新的js小提琴是https://jsfiddle.net/nbLbb037/3/

但。 您需要使用正则表达式测试来验证确切的货币测试。 尝试为您的“ formatCurrency”函数探索js正则表达式测试。 当然,这完全取决于您。 当前的解决方案将使您更进一步。

我已经在小提琴上更新了正则表达式js代码。 请参阅https://jsfiddle.net/nbLbb037/5/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM