我想使用正则表达式验证文本框中的文本。
文本应该是一个大于 0 且小于等于 1000 的数字。
问问题
2882 次
3 回答
3
"^[1-9][0-9]*{1,2}$"
是您正在寻找的正则表达式。
if(Regex.IsMatch(YourTextBox.Text,"^[1-9][0-9]*{1,2}$"))
{
//Write your logic here
}
于 2012-08-01T07:29:52.743 回答
0
我找到了:
^([1-9]|[1-9][0-9]|[1-9][0-9][0-9])$|^(1000)
我在 0~1000 范围内测试它
于 2012-08-10T13:07:41.203 回答
0
试试这个正则表达式:
//for 0 < x < 1000
^((?<=[1-9])0|[1-9]){1,3}$
解释:
(?<=[1-9])0 //look behind to see if there is digits (1-9)
测试:
0 -> 无效 000 -> 无效 45 -> 有效 5 -> 有效的“Ashwin Singh”解决方案无法捕捉到这一点 101 -> 有效 999 -> 有效 1000 -> 无效 12345 -> 无效 10000 -> 无效 2558 -> 无效 205 -> 有效 1001 -> 无效 2000 -> 无效
更好的方法转换为Decimal
(如果您不使用正则表达式验证器):
Decimal dc = Decimal.TryParse(textBox.Text);
if( dc > 0 && dc < 1000)
// do some thing
于 2012-08-01T08:06:03.817 回答