Javascript 如何在jquery中添加减号?

Javascript 如何在jquery中添加减号?,javascript,jquery,html,Javascript,Jquery,Html,我的html代码:- <input type="text" id="test"> <span class="display"></span> 演示和完整代码如下所示: 我希望输入文本可以输入以下内容:-10000000 并且在类显示中显示的结果是:-10.000.000 如何添加减号(-)符号?添加减号非常简单,只需替换即可 this.value = this.value.replace(/[^0-9\.]/g,''); 有以下几点 this.value

我的html代码:-

<input type="text" id="test">
<span class="display"></span>
演示和完整代码如下所示:

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

并且在类显示中显示的结果是:
-10.000.000


如何添加减号(
-
)符号?

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

this.value = this.value.replace(/[^0-9\.]/g,'');
有以下几点

this.value = this.value.replace(/[^0-9\.-]/g,'');
更新的js fiddle是

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


我已经在fiddle上更新了正则表达式js代码。请参阅需要更改代码,如下所示:-

output = output.reverse();
if(output[1] == '.'){
   output.splice(1, 1);
   formatted = output.join("");
}else{
   formatted = output.join("");
}
一切都会好起来的

例如:-

$(“#测试”).keyup(函数(e){
$('span.display').text(formatCurrency($(this.val()));
this.value=this.value.replace(/[^0-9\.-]/g');
});
//在pagu和revisi上设置货币格式
var formatCurrency=函数(num){
var str=num.toString().replace(“$”,“”),parts=false,output=[],i=1,formatted=null;
如果(str.indexOf(“,”)>0){
零件=str.split(“,”);
str=零件[0];
}
str=str.split(“”.reverse();
对于(var j=0,len=str.length;j


看起来很奇怪。您可以尝试输入以下内容:
-100000
。结果
-.100.000
。结果应该是:
-100.000
,这就是为什么我要让它成为正则表达式测试。您要做的是替换除指定字符外的所有字符。记住,这个新的js表达式代码将允许您输入数据,其中“-”可以存在,但可选,数字11111.1111只能有一个“.”。不允许在其中添加“,”。您可以根据需要修改正则表达式。我看到您更新了JSFIDLE。但它不起作用。我看到了活到死的答案。看起来很奇怪。您可以尝试输入以下内容:
-100000
。结果
-.100.000
。如果结果如下:
-100.000
如果删除该行,则可以在文本框中添加任何内容,如-23sfd.sdf83243。这会让事情变得更糟。@samueltoh请现在检查答案。Ashokkumar M.Prajapati我已经添加了这一行(你是对的),并更改了代码,使其能够工作。“-62.621.22-.151.522.1-5.52-”是允许的。这是没有道理的。唯一的解决方案是使用正则表达式允许“$,.-”及其正确的允许位置。或者需要进行大规模的逻辑修改。
output = output.reverse();
if(output[1] == '.'){
   output.splice(1, 1);
   formatted = output.join("");
}else{
   formatted = output.join("");
}