Javascript 正则表达式丢弃浮点数和前导零

Javascript 正则表达式丢弃浮点数和前导零,javascript,java,regex,Javascript,Java,Regex,我有一个正则表达式,除了零和浮点数之外,它应该只允许正数^0*[1-9][0-9]*(\.[0-9]+)?|0+\.[0-9]*[1-9][0-9]*$,但它允许浮点数,有人可以修改它并告诉我正则表达式吗 有效期: 1-any number 01 - any number 无效: 00 - any leading zeros 0 1.4 - floating numbers abc - alphabets -1 - negative numbers Stanislav的正则表达式(见下文

我有一个正则表达式,除了零和浮点数之外,它应该只允许正数
^0*[1-9][0-9]*(\.[0-9]+)?|0+\.[0-9]*[1-9][0-9]*$
,但它允许浮点数,有人可以修改它并告诉我正则表达式吗

有效期:

1-any number 
01 - any number
无效:

00 - any leading zeros
0
1.4 - floating numbers
abc - alphabets 
-1 - negative numbers
Stanislav的正则表达式(见下文)我认为符合您的要求。如果你同意,就投票给他!(注意:您可能需要将其包装为^1和$2,以便与字符串的开头和结尾匹配,如下所示:
^[0]*[1-9][0-9]*$
) 您可以在此处进行测试:
/*https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/Data_form_validation */
输入:无效{
边框:5px纯红;
}

尝试以下模式:

String str = "00012";
str.matches("[0]*[1-9][0-9]*");
其中:

[0]*
是字符串开头的任意数字0

[1-9]
从1到9的一位数字

[0-9]*
0到9之间的任意位数

如果要将其与JavaScript一起使用,只需使用^和$对其进行修改,以确定字符串的开头和结尾,如下所示:

^[0]*[1-9][0-9]*$

您可以尝试以下操作:
^[0-9]\d*$
如果不需要浮点数,为什么表达式允许使用小数点?我想我的问题是,它是“应该只允许(除零之外的正数)和浮点数”还是“应该只允许除(零和浮点数)之外的正数”?嗨,Andres,它应该只允许除(零和浮点数)之外的正数。嗨,Rahul^[0-9]\d*$允许零,我不想要1-任何数字都应该是有效的tooHi Stanislav,我在中尝试了你的正则表达式,你可以看到它仍然接受1.4,2.1,其中我不想接受浮点数。实际上,输入数量是一项要求。。所以数量不应该像浮动的、字母表的、负数的或000、00等等,在它周围是a^和$(以匹配字符串的开头和结尾),它应该工作^[0]*[1-9][0-9]*$@user3436400 java正则表达式不接受此模式的浮点值。如果您使用的不是java,而是javascript,则必须在其中添加“^”和“$”以确定字符串的开始和结束嘿,感谢Stanislav和Fievel,这很有效!!是的,我使用的是javascript。再次感谢。