簡體   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