C#Textbox输入值的正则表达式

时间:2012-08-01 07:26:32

标签: asp.net regex

我想使用正则表达式验证文本框中的文本 文本应为大于0且小于等于1000的数字。

3 个答案:

答案 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

范围内测试