我需要一个钱模板,如:
999 999 999,5
999 999 999
20 500,8
20 500
我已使用https://regex101.com/并创建^\d{1,3}( \d{3})+(,?\d{1})?$
。我认为这是正确的,因为我的刺痛是匹配的,但是当我尝试实施它时
var str = "20 000,5"
console.log(str.match("^\d{1,3}( \d{3})+(,?\d{1})?$"));
我有null
。
我做错了什么?
答案 0 :(得分:5)
你必须逃避反斜杠。
str.match("^\\d{1,3}( \\d{3})+(,?\\d{1})?$");
修改:更改正则表达式模式,使其可以匹配1 000
以下的数字。
我还在?
上删除了,
,因为它看起来很奇怪?
str.match("^\\d{1,3}( \\d{3})*(,\\d)?$");