【发布时间】:2009-04-20 10:16:41
【问题描述】:
朋友们,
我是 Javascript 和正则表达式的新手,希望您能提供帮助!
在 Javascript 函数中,我需要检查逗号 (,) 是否出现 1 次或多次。如果是这样,那么它的任一侧都应该有一个或多个数字。
例如
1,000.00 可以
1,000,00 没问题
,000.00 不行
1,000.00 不行
如果满足这些条件,我希望删除逗号,以便 1,000.00 变为 1000.00
我尝试过的是:
var x = '1,000.00';
var regex = new RegExp("[0-9]+,[0-9]+", "g");
var y = x.replace(regex,"");
警报(y);
当运行警报时显示“.00”这不是我所期望或想要的!
提前感谢您提供的任何帮助。
强文本 编辑 强文本
感谢所有到目前为止的输入和给出的 3 个答案。不幸的是,我认为我没有很好地解释我的问题。
我想要实现的是:
如果文本中有逗号,并且其两侧有一个或多个数字,则删除逗号,但保留字符串的其余部分。
如果文本中有逗号,并且两边都没有至少一个数字,则什么也不做。
所以使用我上面的例子:
1,000.00 变为 1000.00
1,000,00 变为 100000
,000.00 保留为,000.00
1,000.00 保留为 1,000.00
为混乱道歉!
【问题讨论】:
-
只删除字符串中的所有逗号有什么问题...例如String.replace(',','');
-
感谢吉米的评论。这也是我的第一个解决方案!不幸的是,某些字段允许将逗号作为格式的一部分包含在内。因此,在我让用户离开该字段并且他们输入了逗号之前,任何一方都必须至少有一个数字。基本上它是为了阻止用户输入 1,,,,,,,,,,,,,,,,000 等
标签: javascript regex