2011-04-14 39 views
1

我在表单上有一个文本框,我希望用户只能输入数字,而第一个数字不能为零。在这种情况下,哪种模式必须?正则表达式仅匹配数字不是从零开始

+0

windows窗体还是webform?网络形式Aliostad得到了答案的窗口超载onkeypress事件chech按键的价值,如果它的窗口形式我会提供的代码 – Radu 2011-04-14 10:21:03

回答

10

用这句话

string expression = @"^[1-9]\d*$"; 

对于任何人想要测试表达,使用此链接:http://www.rubular.com/r/1JIPP8E1zH

+0

但它不允许eaxample 10000数 – namco 2011-04-14 10:16:48

+0

“@”是字符串文字。我更新了。 – Aliostad 2011-04-14 10:23:46

+0

@Namco,为什么?当然,它确实...看看这里http://www.rubular.com/r/1JIPP8E1zH – Aliostad 2011-04-14 10:24:08

0

与尝试:

/^[1-9][0-9]*$/ 

你接受什么长度的字符串?

如果允许空字符串也有尝试:

/^([1-9][0-9]*)?$/ 
+0

如果最大长度数字是10.那么? – Bhuvan 2013-06-06 05:34:08

1

另外,我建议这个本地化的目的,考虑

double.Parse(myTextBox.Text, System.Globalization.CultureInfo.CurrentCulture); 

作为替代。它根据所安装的设置(文化)来解析带有小数的数字或任何您喜欢的变体。在我的国家,用小数点作为分隔符。

+0

不错的选择,只是要注意'TryParse'可能更有用,具体取决于。 – 2011-04-14 10:35:35