我想使用正则表达式验证文本框中的文本 文本应为大于0且小于等于1000的数字。
答案 0 :(得分:3)
"^[1-9][0-9]*{1,2}$"
是您正在寻找的正则表达式。
if(Regex.IsMatch(YourTextBox.Text,"^[1-9][0-9]*{1,2}$"))
{
//Write your logic here
}
答案 1 :(得分: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 -> invalid 000 -> invalid 45 -> valid 5 -> valid 'Ashwin Singh' solution can not capture this 101 -> valid 999 -> valid 1000 -> invalid 12345 -> invalid 10000 -> invalid 2558 -> invalid 205 -> valid 1001 -> invalid 2000 -> invalid
更好的方式转换为Decimal
(如果你不使用正则表达式验证器):
Decimal dc = Decimal.TryParse(textBox.Text);
if( dc > 0 && dc < 1000)
// do some thing
答案 2 :(得分:0)
我找到了它:
^([1-9]|[1-9][0-9]|[1-9][0-9][0-9])$|^(1000)
我在0~1000
范围内测试