我有一个使用.NET创建的文本框。
通过使用该文本框,用户只能输入数字。但是不能以0开头,只能以1-9开头。在用户在第一个字符键入1-9后,用户可以键入0。
这是我的正则表达式。使用它,我不能输入1-9,只能输入0和字母。 但是如果我使用^[1-9],我可以输入数字,但无法输入0。
我已经尝试了所有你们提出的答案。但仍然无法解决问题。并不是我没有阅读你们的所有答案。
这是图片。
这个正则表达式只接受从0到9的数字。
通过使用该文本框,用户只能输入数字。但是不能以0开头,只能以1-9开头。在用户在第一个字符键入1-9后,用户可以键入0。
Regex reg = null;
reg = new System.Text.RegularExpressions.Regex("^[1-9][0-9]*$")
return reg.IsMatch(str);
这是我的正则表达式。使用它,我不能输入1-9,只能输入0和字母。 但是如果我使用^[1-9],我可以输入数字,但无法输入0。
我已经尝试了所有你们提出的答案。但仍然无法解决问题。并不是我没有阅读你们的所有答案。
这是图片。
我希望在第一次验证时,用户只能输入数字,但必须以非0或字母而是1-9的值开头。在第一个字符之后,用户只能输入0-9。
我使用Int.TryParse进行验证,但我是在按下按钮处理后才使用它。
reg = new System.Text.RegularExpressions.Regex("^[^0-9]");
这个正则表达式只接受从0到9的数字。
reg = new System.Text.RegularExpressions.Regex("^[^1-9]");
该正则表达式仅接受数字1到9。
如何向正则表达式添加更多的表达式,以使第二个字符到其余部分仅接受数字0-9?
顺便说一下,我不关心0.99,因为在这里价格是固定的,不是0.99或0.123等。
还有其他方法吗?谢谢。
^($|[^0])
是一个可接受的解决方案吗? - John Dvorak0.99
是一个完全有效的(由于应用商店而广泛使用)价格。 - paxdiablo