Javascript中带逗号的数字

时间:2009-05-07 03:53:31

标签: javascript regex

我有一个javascript函数接受一个数字并对数字执行数学运算。但是,我传入的数字可能会有逗号,而且由于我使用Javascript的经验有限,我在使用该值时遇到了问题。它似乎不会将其视为数字类型。

获取值为1,000的参数并将其转换为数字1000的最简单方法是什么?

4 个答案:

答案 0 :(得分:35)

您可以将文本框设置为具有 onblur()功能,这样当用户尝试离开文本框时,您可以使用javascript 替换<从值中删除逗号/ strong>功能

示例

  function checkNumeric(objName)
  {
    var lstLetters = objName;

    var lstReplace = lstLetters.replace(/\,/g,'');
  }  

使用输入标记:

<input type="text" onblur="checkNumeric(this);" name="nocomma" size="10" maxlength="10"/>

答案 1 :(得分:23)

快速而肮脏的方法是使用String.replace()方法:

var rawstring = '1,200,000';
var cleanstring = rawstring.replace(/[^\d\.\-\ ]/g, '');

这会将cleanstring设置为:1200000。假设您使用的是美国格式,则会发生以下转换:

1234 --> 1234
1,234 --> 1234
-1234 --> -1234
-1,234 --> -1234
1234.5 --> 1234.5
1,234.5 --> 1234.5
-1,234.5 --> -1234.5
1xxx234 --> 1234

如果你在其他语言环境中反转'。'和',',然后你必须在正则表达式中做出改变。

答案 2 :(得分:2)

只需用空格替换所有逗号。

你可以这样说: http://blog.techsaints.com/2007/06/25/javascript-how-to-remove-all-commas-from-a-number/

答案 3 :(得分:2)

将逗号分隔的数字字符串转换为类型编号(又名 type casting

+"1,234".split(',').join('') // outputs 1234

<强>击穿

+             - math operation which casts the type of the outcome into type Number
"1,234"       - Our string, which represents a comma delimited number
.split(',')   - split the string into an Array: ["1", "234"], between every "," character
.join('')     - joins the Array back, without any delimiter: "1234"

一个简单的功能是:

function stringToNumber(s){
  return +s.split(',').join('');
}