RegExp来解析货币值

Mar*_*tin 3 regex actionscript-3

我需要在AS3中编写一个RegExp,它将Excel格式的货币值解析为一个数字:例如RegExp($ 35,600.00)= 35600

并检查它是否格式正确(","作为千位分隔符,"."作为小数点.货币符号可以是任何(不仅仅是$),可以站在开头或结尾.

所以我只需要从数字中删除每个非数字并检查是否有效.

谢谢!马丁

Chr*_*nce 7

您将需要两种情况,一种用于逗号作为分隔符,另一种用于十进制分隔的整数.

如果是整数,请删除逗号或小数点后的所有内容(具体取决于您的格式).然后运行以下正则表达式:

这将删除所有非数字字符:

s/\D+//g;
Run Code Online (Sandbox Code Playgroud)

如果您没有整数,则需要为整数分隔符包含一个例外:

小数分隔符:

 s/[^\d.]+//g
Run Code Online (Sandbox Code Playgroud)

逗号分隔符:

 s/[^\d,]+//g
Run Code Online (Sandbox Code Playgroud)

*免责声明:我只在头脑中解析了这些正则表达式,所以我的语法可能略有偏差.