求一个只能输入负整数或者正整数并且不能输入0的正则表达式

时间:2021-08-15 05:52:29
不能输入小数点
只能是-1 -2 -3 -4 -5。。。。。。。。。。。
或者 1 2 3 4 5.。。。。。。。。。。

26 个解决方案

#1


^[-]{0,1}\d+$

#2


[-]?[1-9][0-9]*

#3


^-?(?!0\d)\d+$

#4


0也不让输

#5


^-?(?!0)\d+$

#6


0.1 0.2 这种也不行

#7


^\-?[1-9]*$
上面可以满足你的需求

#8


引用 7 楼 arjoeweb 的回复:
^\-?[1-9]*$
上面可以满足你的需求


输入0.1 0.2不可啊。只是会弹出字符串格式不正确

#9


引用 8 楼 tanxd137 的回复:
引用 7 楼 arjoeweb 的回复:
^\-?[1-9]*$
上面可以满足你的需求


输入0.1 0.2不可啊。只是会弹出字符串格式不正确


要代码还是要正则? js代码还是c#代码?

#10



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


10可不可以?

#11


引用 1 楼 q107770540 的回复:
^[-]{0,1}\d+$

就是这个

#12


引用 9 楼 kkbac 的回复:
引用 8 楼 tanxd137 的回复:

引用 7 楼 arjoeweb 的回复:
^\-?[1-9]*$
上面可以满足你的需求


输入0.1 0.2不可啊。只是会弹出字符串格式不正确


要代码还是要正则? js代码还是c#代码?

要正则表达式。 不准输入0或者0.几或者 1.1几。 只能输入 正整数 负整数

#13



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

已测试过. 不行你发代码.

#14


这不都给你多少个了,都符合你要求的了。你还有什么问题?
^-?(?!0)\d+$

#15



Regex rg = new Regex(@"^[-]?[1-9][0-9]*$");
        
        if (!rg.IsMatch(txt_floorname.Text.Trim(),0)&&this.txt_floorname.Visible==true)
        {
            ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "info", "alert('请输入非0的正整数或者负整数!');", true);
        }  

这个 输入0.1 0.2 1.1 不行啊

#16


引用 14 楼 wuyazhe 的回复:
这不都给你多少个了,都符合你要求的了。你还有什么问题?
^-?(?!0)\d+$


+1

#17


正整数、负整数
^\-?[1-9]{1,}\d?$

#18


引用 15 楼 tanxd137 的回复:
C# code

Regex rg = new Regex(@"^[-]?[1-9][0-9]*$");
        
        if (!rg.IsMatch(txt_floorname.Text.Trim(),0)&&this.txt_floorname.Visible==true)
        {
            ScriptManager.……


 if (rg.IsMatch(txt_floorname.Text.Trim(),0)

#19


看看你的页面代码.有没有   
 <form id="form1" runat="server">
    </form>

#20


引用 17 楼 arjoeweb 的回复:
正整数、负整数
^\-?[1-9]{1,}\d?$

^\-?[1-9]{1,}\d*?$
少了个*

#21


引用 18 楼 wackyboy 的回复:
引用 15 楼 tanxd137 的回复:
C# code

Regex rg = new Regex(@"^[-]?[1-9][0-9]*$");

if (!rg.IsMatch(txt_floorname.Text.Trim(),0)&amp;amp;&amp;amp;this.txt_floorname.Visible==true)
{
ScriptManager.……

……


错了

#22


正整数、负整数
^\-?[1-9]{1,}\d*?$
没错就这个了1到9至少要匹配一次

#23


<asp:TextBox id="txt_floorname" runat="server"></asp:TextBox>

(!rg.IsMatch
不是不匹配的话才弹出提示吗。 对的啊

#24


引用 23 楼 tanxd137 的回复:
<asp:TextBox id="txt_floorname" runat="server"></asp:TextBox>

(!rg.IsMatch
不是不匹配的话才弹出提示吗。 对的啊


你的程序代码有问题,你直接用response.write("请输入非0的正整数或者负整数!");输出到页面试试.

#25


response.write 用的话 会弹出莫名其妙的东西。可能跟我程序某快冲突了。
所以我才用那个

#26


引用 25 楼 tanxd137 的回复:
response.write 用的话 会弹出莫名其妙的东西。可能跟我程序某快冲突了。
所以我才用那个


你用response.write 测试. 测试完了再改回去.

#1


^[-]{0,1}\d+$

#2


[-]?[1-9][0-9]*

#3


^-?(?!0\d)\d+$

#4


0也不让输

#5


^-?(?!0)\d+$

#6


0.1 0.2 这种也不行

#7


^\-?[1-9]*$
上面可以满足你的需求

#8


引用 7 楼 arjoeweb 的回复:
^\-?[1-9]*$
上面可以满足你的需求


输入0.1 0.2不可啊。只是会弹出字符串格式不正确

#9


引用 8 楼 tanxd137 的回复:
引用 7 楼 arjoeweb 的回复:
^\-?[1-9]*$
上面可以满足你的需求


输入0.1 0.2不可啊。只是会弹出字符串格式不正确


要代码还是要正则? js代码还是c#代码?

#10



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


10可不可以?

#11


引用 1 楼 q107770540 的回复:
^[-]{0,1}\d+$

就是这个

#12


引用 9 楼 kkbac 的回复:
引用 8 楼 tanxd137 的回复:

引用 7 楼 arjoeweb 的回复:
^\-?[1-9]*$
上面可以满足你的需求


输入0.1 0.2不可啊。只是会弹出字符串格式不正确


要代码还是要正则? js代码还是c#代码?

要正则表达式。 不准输入0或者0.几或者 1.1几。 只能输入 正整数 负整数

#13



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

已测试过. 不行你发代码.

#14


这不都给你多少个了,都符合你要求的了。你还有什么问题?
^-?(?!0)\d+$

#15



Regex rg = new Regex(@"^[-]?[1-9][0-9]*$");
        
        if (!rg.IsMatch(txt_floorname.Text.Trim(),0)&&this.txt_floorname.Visible==true)
        {
            ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "info", "alert('请输入非0的正整数或者负整数!');", true);
        }  

这个 输入0.1 0.2 1.1 不行啊

#16


引用 14 楼 wuyazhe 的回复:
这不都给你多少个了,都符合你要求的了。你还有什么问题?
^-?(?!0)\d+$


+1

#17


正整数、负整数
^\-?[1-9]{1,}\d?$

#18


引用 15 楼 tanxd137 的回复:
C# code

Regex rg = new Regex(@"^[-]?[1-9][0-9]*$");
        
        if (!rg.IsMatch(txt_floorname.Text.Trim(),0)&amp;&amp;this.txt_floorname.Visible==true)
        {
            ScriptManager.……


 if (rg.IsMatch(txt_floorname.Text.Trim(),0)

#19


看看你的页面代码.有没有   
 <form id="form1" runat="server">
    </form>

#20


引用 17 楼 arjoeweb 的回复:
正整数、负整数
^\-?[1-9]{1,}\d?$

^\-?[1-9]{1,}\d*?$
少了个*

#21


引用 18 楼 wackyboy 的回复:
引用 15 楼 tanxd137 的回复:
C# code

Regex rg = new Regex(@"^[-]?[1-9][0-9]*$");

if (!rg.IsMatch(txt_floorname.Text.Trim(),0)&amp;amp;&amp;amp;this.txt_floorname.Visible==true)
{
ScriptManager.……

……


错了

#22


正整数、负整数
^\-?[1-9]{1,}\d*?$
没错就这个了1到9至少要匹配一次

#23


<asp:TextBox id="txt_floorname" runat="server"></asp:TextBox>

(!rg.IsMatch
不是不匹配的话才弹出提示吗。 对的啊

#24


引用 23 楼 tanxd137 的回复:
<asp:TextBox id="txt_floorname" runat="server"></asp:TextBox>

(!rg.IsMatch
不是不匹配的话才弹出提示吗。 对的啊


你的程序代码有问题,你直接用response.write("请输入非0的正整数或者负整数!");输出到页面试试.

#25


response.write 用的话 会弹出莫名其妙的东西。可能跟我程序某快冲突了。
所以我才用那个

#26


引用 25 楼 tanxd137 的回复:
response.write 用的话 会弹出莫名其妙的东西。可能跟我程序某快冲突了。
所以我才用那个


你用response.write 测试. 测试完了再改回去.