我有一些这样的字符串:
var st1 = 'AU$99.95';
// 应该返回99.95
var st2 = 'AU.99.95';
// 应该返回99.95
var st1 = 'Blahblah $99,000';
// 应该返回99,000
我目前的正则表达式让我大部分时间都在那里,我只是在使用string.replace(/[^0-9.,]/g, "");
.
这适用于除 #2 之外的所有场景,当数字之前有一个允许的字符时。我只想允许.
并且,
当它前面有一个数字时。我怎样才能做到这一点?
(我知道我可以编写一个 javascript 函数来做到这一点,但我宁愿在一个正则表达式替换中处理这一切)
编辑:
抱歉,小疏忽。我还需要删除数字之后的任何文本(我假设之前/之后的数字不会产生影响,但显然他们会这样做!)。所以:
var st4 = 'blahblah $.99,000AUD
// 应该返回99,000