【问题标题】:Javascript regex replace all non currency charactersJavascript 正则表达式替换所有非货币字符
【发布时间】:2014-03-22 19:56:34
【问题描述】:

我需要使用 javascript 替换文本中的所有非数字字符。我们的客户想要删除非数字,例如 1,330.00 变为 1330.00。

我可以替换除小数位以外的所有非数字,但这允许多个小数位。

我有一个jsbin的代码 http://jsbin.com/vetedeca/1/edit?html,output

$(文档).ready(函数(){ $('input').bind('keyup', function() { var 值 = $(this).val() value = value.replace(/[^\d\.]+/g,''); $(this).val(value); }) })

如何编辑它以删除除第一次出现的小数位以外的所有非数字

例如 1,330.00 变为 1330.00 1,330.00.00 变为 1330.00 133o.00d.33 变为 133.00

【问题讨论】:

    标签: javascript regex replace currency


    【解决方案1】:

    我设法找到了处理多点问题的方法。

    我使用 .replace() 添加了另一行:

    $(document).ready(function(){
      $('input').bind('keyup', function() {
      var value = $(this).val()
    
      value = value.replace(/[^\d\.]+/g,'');
      value = value.replace(/(\..*)\./g,'$1');
      $(this).val(value);
      })
    })
    

    此附加行将检查是否有第一个点后跟数字,然后是另一个点。

    如果是这种情况,替换将保留现有的小数部分并删除第二个点。

    更新jsbin:http://jsbin.com/vetedeca/3/edit?html,output

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      • 1970-01-01
      • 1970-01-01
      • 2012-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多