c#正则表达式匹配整数和小数

用于判断Textbox中的输入是否为整数或者小数

参考资料:http://www.cnblogs.com/generalz/articles/1890097.html

              http://bbs.csdn.net/topics/360076679

c#中使用正则表达式需要加入using System.Text.RegularExpressions的引用

 

匹配整数的一种表达式:

Regex.IsMatch(inputerstr, "^([0-9]{1,})$")

其中Inputerstr是要匹配的字符串

这个表达式仅匹配整数,如果是整数形式返回true,否则为false

 

 

匹配小数格式的表达式:

Regex.IsMatch(inputerstr, "^([0-9]{1,}[.][0-9]*)$")

其中Inputerstr是要匹配的字符串

这个表达式仅匹配数字中有小数点格式的数字,如果是带有小数点格式的纯数字,返回true,否则为false。


C#正则表达式样例示范:
  只能输入数字:"^[0-9]*$"。
  只能输入n位的数字:"^\d{n}$"。
  只能输入至少n位的数字:"^\d{n,}$"。
  只能输入m~n位的数字:。"^\d{m,n}$"
  只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。
  只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。
  只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。
  只能输入非零的正整数:"^\+?[1-9][0-9]*$"。
  只能输入非零的负整数:"^\-[1-9][]0-9"*$。
  只能输入长度为3的字符:"^.{3}$"。
  只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
  只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
  只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。
  只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。
  只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"。
  验证用户密码:"^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
  验证是否含有^%&’,;=?$\"等字符:"[^%&’,;=?$\x22]+"。
  只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"



"^\d+$"  //非负整数(正整数 + 0) 
"^[0-9]*[1-9][0-9]*$"  //正整数 
"^((-\d+)|(0+))$"  //非正整数(负整数 + 0) 
"^-[0-9]*[1-9][0-9]*$"  //负整数 
"^-?\d+$"    //整数 
"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0) 
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数 
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0) 
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数 
"^(-?\d+)(\.\d+)?$"  //浮点数 
"^[A-Za-z]+$"  //由26个英文字母组成的字符串 
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串 
"^[a-z]+$"  //由26个英文字母的小写组成的字符串 
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串 
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串 
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址 
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url

最后,根据资料,我所用的代码片段是;

 string regexString = @"(^[0-9]*[1-9][0-9]*$)|(^([0-9]{1,}[.][0-9]*)$)";//写正则表达式,只能输入数字&小数

Match m = Regex.Match(m_ccd, regexString);

if (!m2.Success)

 int selectionStart = textBox1.SelectionStart;                 
textBox1.SelectionStart = selectionStart;
 }
 else
{
 input = double.Parse(textBox1.text);
}     

你可能感兴趣的:(C#)