Javascript 测试数字是否符合xxx.xx模式
我正在尝试为字段编写验证,正则表达式似乎是正确的解决方案。但我似乎不能正确理解语法。以下是基本规则Javascript 测试数字是否符合xxx.xx模式,javascript,regex,Javascript,Regex,我正在尝试为字段编写验证,正则表达式似乎是正确的解决方案。但我似乎不能正确理解语法。以下是基本规则 必须是肯定的 小数点前最多3位 小数点后最多2位 只有在后面有数字时,才会出现小数 不需要在小数点前加前导数字 这是我想到的,但它似乎不起作用,但我承认正则表达式不是我的专长 ^[0-9]{0,3}?(\.)[0-9]{0,2}$|$ 您的?位置不正确{a,b}?将匹配a和b之间可能的最小金额。您可能想要: ^([0-9]{0,3})(\.[0-9]{1,2})$^[0-9]{0,3}(\.[0
^[0-9]{0,3}?(\.)[0-9]{0,2}$|$
您的
?
位置不正确<代码>{a,b}?将匹配a
和b
之间可能的最小金额。您可能想要:
^([0-9]{0,3})(\.[0-9]{1,2})$
^[0-9]{0,3}(\.[0-9]{1,2})$
这个应该做你想做的
使用此正则表达式:
^(\d{0,3}|\d{0,3}\.\d{1,2})$
这将符合您的要求您所说的“不工作”到底是什么意思。误报、误报或不完全工作(例如异常)[0-9]{0,3}表示数字0到3次。如果我没有弄错的话,根本不需要
?
:)@J0HN,是的,但正如OP所说,.12
是允许的,所以第一部分应该是optional@sshashank124我认为J0HN的观点是它已经是“可选的”“”。匹配(/[0-9]{0,3}/);//[“”]
是否有任何数字零乘以句点一两等于.12
?:)@J0HN,我非常抱歉。你说得对。我知道你知道。是我的错。谢谢你{1,3}
在第一个选项中,否则你也会像另一个答案一样匹配一个空字符串。@devnull你是对的,先生,但我只是按照op写的:小数点前最多3位最多可以取零,我假设一个数字只包含小数部分。当然,OP会知道得更清楚。