Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 长度限制的正则表达式,小数点前10位,小数点后2位,仅限数字?_Javascript_Regex - Fatal编程技术网

Javascript 长度限制的正则表达式,小数点前10位,小数点后2位,仅限数字?

Javascript 长度限制的正则表达式,小数点前10位,小数点后2位,仅限数字?,javascript,regex,Javascript,Regex,我想要一个长度限制的正则表达式,10位,2位小数,只允许数字。小数点前10位 允许 1 1111111 111 1111.22 .2 1.2 1.22 不允许 4. . -1 abc 空 清空字符串 “” 1.222 -1.22 111111 已尝试但不起作用 ^[0-9]*(\.[0-9]{0,2})?$ 你几乎做到了-你所要做的就是检查字符串是否为空(这可以通过在^之后对{1,10}进行正向前瞻来完成),并检查其第一个数字字符串最多有10个字符(只需对数字使用{0,10}量词)。还要注意

我想要一个长度限制的正则表达式,10位,2位小数,只允许数字。小数点前10位
允许
1
1111111
111
1111.22
.2
1.2
1.22

不允许
4.
.
-1
abc

清空字符串
“”
1.222
-1.22
111111
已尝试但不起作用

^[0-9]*(\.[0-9]{0,2})?$

你几乎做到了-你所要做的就是检查字符串是否为空(这可以通过在
^
之后对
{1,10}
进行正向前瞻来完成),并检查其第一个数字字符串最多有10个字符(只需对数字使用
{0,10}
量词)。还要注意,
[0-9]
简化为
\d

为了也排除尾随点,用
{1,2}
而不是
{0,2}
重复点后的数字:

^(?!$)\d{0,10}(?:\.\d{1,2})?$

你几乎做到了-你所要做的就是检查字符串是否为空(这可以通过在
^
之后对
{1,10}
进行正向前瞻来完成),并检查其第一个数字字符串最多有10个字符(只需对数字使用
{0,10}
量词)。还要注意,
[0-9]
简化为
\d

为了也排除尾随点,用
{1,2}
而不是
{0,2}
重复点后的数字:

^(?!$)\d{0,10}(?:\.\d{1,2})?$

我还准备了下面的正则表达式

看来这也行


我还准备了下面的正则表达式

看来这也行


你是如何设计这个正则表达式的?您的正则表达式与符号的
-
字符不匹配。@某些性能已修复是否要匹配
1.2
?或
1.22
@vks两者needed@DeepakJain你接受的答案也接受了
1.
你是如何设计这个正则表达式的?您的正则表达式与符号的
-
字符不匹配。@某些性能已修复是否要匹配
1.2
?或
1.22
@vks两者needed@DeepakJainu接受的答案也接受
1.
以及11111111(11位无效)在10位之前不工作(只允许10位)Decimal@vks我确实注意到,OP在其原始代码中有
{0,2}
,而不是
{1,2}
,看起来很奇怪,但我想是的intentional@DeepakJain使用
^(?!$)\d{0,10}(?:\.\d{1,2})$
。见演示@DeepakJain您能澄清一下您是否愿意接受单一的
?您原来的正则表达式有
(?:\。\d{0,2})
,这看起来很奇怪,但我复制了它,因为它似乎是有意的,但如果不是,它是一个简单的调整11111111(11位无效)不工作(只允许10位)10位之前Decimal@vks我确实注意到,OP在其原始代码中有
{0,2}
,而不是
{1,2}
,看起来很奇怪,但我想是的intentional@DeepakJain使用
^(?!$)\d{0,10}(?:\.\d{1,2})$
。见演示@DeepakJain您能澄清一下您是否愿意接受单一的
?您原来的正则表达式有
(?:\。\d{0,2})
,这看起来很奇怪,但我复制了它,因为它似乎是有意的,但如果不是,那就是一个简单的调整