1

我想验证用户输入字符串的数字范围从1300 到 1500

我试过了Regex regxUsrInput = new Regex(@"^(?:[1-9]|1|3[0-9]|0[0-9]|0[0-9]|1500)$");

..但这并不能验证我预期的方式。

我愿意接受任何建议,包括替代方案。谢谢

如果重要:我的应用程序是用C#编写的Windows 窗体应用程序。用户输入来自标准TextBox Control

4

4 回答 4

13

你为什么要使用Regex?这个简单的方法怎么样:

int value;
if(int.TryParse(yourTexbox.Text, out value))
{
    if(1300 < value && value < 1500)
    {
        //your code
    }
}
于 2013-04-22T14:35:11.927 回答
7

注意:不要那样做。但方法如下:

^1([34]\d{2}|500)$
于 2013-04-22T14:37:35.220 回答
4

根据Regex_For_Range生成器,您的正则表达式应该是:

^1([34][0-9]{2}|500)$

于 2013-04-22T14:39:57.247 回答
1

其他答案指出您不需要正则表达式,但是-为了完整起见-如果您真的想这样做,请尝试以下操作:

@"^1([34][0-9][0-9]|500)$"
于 2013-04-22T14:38:36.990 回答