我只想要一个字段来允许所有类型的数字:整数、小数、负数......以及所述类型的所有组合。不需要逗号。
这是我在大约 3 天的战斗中得到的最接近的结果:
/^[\.\-\d]*?$[1-9][\.\-\d]*?$/
这不允许整数!我不明白出了什么问题,有人可以解释一下如何做到这一点吗?
我只想要一个字段来允许所有类型的数字:整数、小数、负数......以及所述类型的所有组合。不需要逗号。
这是我在大约 3 天的战斗中得到的最接近的结果:
/^[\.\-\d]*?$[1-9][\.\-\d]*?$/
这不允许整数!我不明白出了什么问题,有人可以解释一下如何做到这一点吗?
以下应该有效:
/^-?\d*\.?\d+$/
解释:
^ # start of string anchor
-? # match a '-', optional
\d* # match zero or more digits
\.? # match a '.', optional
\d+ # match one or more digits
$ # end of string anchor
这对我有用
string="some text with the number -123456.789 in it";
alert(string.replace(/[^-\d+.]/g,''));
尝试这个:
/^[-+]?\d*\.?\d*$/
请注意,这将匹配“6.”、“+5.3”、“4”,但不匹配“4.4.0”
这类似于 FJ 答案,但允许正符号输入并允许数字以点“.”结尾。
这是十进制数的正则表达式:
/^-?(?:\d{1,3}(?:,\d{3})*|\d+)(?:\.\d+)?$/
分解它: