C# 验证它是否不是十进制或整数的正则表达式
我试图找到一个正则表达式来找出输入框中没有正确输入十进制或整数的数字 例子C# 验证它是否不是十进制或整数的正则表达式,c#,regex,C#,Regex,我试图找到一个正则表达式来找出输入框中没有正确输入十进制或整数的数字 例子 1.——捕捉//连续重复的点 ABC-捕获//所有字母表 1.1.1-捕捉//以数字重复的点 !、@、#Catch//所有特殊字符 下面是我目前的情况,除了例子-3中小数点可以以任意组合重复之外,其他例子我都能抓住 void T1\u HTextChanged(对象发送方,事件参数e) { if(System.Text.RegularExpressions.Regex.IsMatch(T1_H.Text,“[^0-9.-
void T1\u HTextChanged(对象发送方,事件参数e)
{
if(System.Text.RegularExpressions.Regex.IsMatch(T1_H.Text,“[^0-9.-]+[124;[.]{2}”))
{
MessageBox.Show(“请只输入数字”);
T1_H.Text=“”;
}
}
如果您确实想使用regexp,可以使用:^[0-9]+(\[0-9]+)?$
你可以在这里测试
如果你想知道它是否是一个有效的数字,你也可以尝试转换它并检查是否有错误。如果你真的想使用regexp,你可以使用:
^[0-9]+(\.[0-9]+)?$
你可以在这里测试
如果你想知道它是否是一个有效的数字,你也可以尝试转换它并检查是否有错误。试试这个正则表达式:
^[0-9]+([.][0-9]{1,2})?$
说明:
- ^在行的开始处断言位置
- 匹配下面列表中的单个字符[0-9]+
- +量词-在一次和无限次之间尽可能多地匹配, 按需回馈(贪婪) 0-9介于0(索引48)和9(索引57)之间的单个字符(区分大小写)
- 第一捕获组([.][0-9]{1,2})
- ?量词-匹配0到1次,尽可能多地匹配,根据需要返回(贪婪)
- 匹配下面列表中的单个字符[。] . 与角色匹配。字面意思(区分大小写)
- 匹配[0-9]{1,2}下面列表中的单个字符 {1,2}量词-匹配1到2次,尽可能多次,根据需要返回(贪婪)
- 0-9介于0(索引48)和9(索引57)之间的单个字符(区分大小写)
- $断言行末尾的位置
^[0-9]+([.][0-9]{1,2})?$
说明:
- ^在行的开始处断言位置
- 匹配下面列表中的单个字符[0-9]+
- +量词-在一次和无限次之间尽可能多地匹配, 按需回馈(贪婪) 0-9介于0(索引48)和9(索引57)之间的单个字符(区分大小写)
- 第一捕获组([.][0-9]{1,2})
- ?量词-匹配0到1次,尽可能多地匹配,根据需要返回(贪婪)
- 匹配下面列表中的单个字符[。] . 与角色匹配。字面意思(区分大小写)
- 匹配[0-9]{1,2}下面列表中的单个字符 {1,2}量词-匹配1到2次,尽可能多次,根据需要返回(贪婪)
- 0-9介于0(索引48)和9(索引57)之间的单个字符(区分大小写)
- $断言行末尾的位置
它将检查所有整数和小数点不超过两个小数点的小数。您可以根据需要进行更改。如果您想通过正则表达式实现这一点,可以使用
^(\d*\.)?\d+$
但请注意,您也可以使用
Decimal.TryParse
。您可以阅读有关Decimal.TryParse的更多信息如果您想通过正则表达式实现这一点,可以使用
^(\d*\.)?\d+$
但请注意,您也可以使用
Decimal.TryParse
。您可以阅读更多关于Decimal.TryParse的内容您可以改为使用try{Convert.ToInt32(input);}catch(Exception){//not int}。如果yiu真的想使用正则表达式进行验证,请尝试:-?[0-9]+([0.9]+)?检查输入是否是一个数字。注意:您可以对正则表达式求反,以检查输入是否不是一个数字。。。显然,请尝试此正则表达式:^[0-9]+([.][0-9]{1,2})?$
。工作示例:。它将检查所有整数和小数点不超过两个小数点的小数。您可以根据您的请求更改它。int.TryParse
和decimal.TryParse
是比regex更好的选项。您也可以使用NumericUpDown而不是TextBox。您可以改为使用try{Convert.ToInt32(input);}catch(Exception){//not int}。如果yiu真的想使用正则表达式进行验证,请尝试:-?[0-9]+([0.9]+)?检查输入是否是一个数字。注意:您可以对正则表达式求反,以检查输入是否不是一个数字。。。显然,请尝试此正则表达式:^[0-9]+([.][0-9]{1,2})?$
。工作示例:。它将检查所有整数和小数点不超过两个小数点的小数。您可以根据自己的要求进行更改。int.TryParse
和decimal.TryParse
是比regex更好的选项。您也可以使用NumericUpDown而不是TextBox。