正整数、正数、非负整数、非负数正则表达

/// 判断字符串是否是数字 

public static bool IsNumType(this string str, NumType nt) { 

string matchString = ""; 

switch (nt)  { 

case NumType.NonNegativeInt: 

//非负整数(正整数 + 0) 

matchString = @"^[1-9]+[0-9]*$|^0$"; 

 break; 

 case NumType.PositiveInt: 

//正整数 

matchString = @"^[1-9]+[0-9]*$"; 

break; 

case NumType.NonPositiveInt: 

//非正整数(负整数 + 0) 

matchString = @"^-[1-9]+[0-9]*$|^0$"; 

break; 

case NumType.NegativeInt: 

//负整数 

matchString = @"^^-[1-9]+[0-9]*$"; 

break; 

case NumType.Int: 

//整数 

matchString = @"^-?[1-9]+[0-9]*$|^0$"; 

break; 

case NumType.NonNegative: 

//非负数(正数 + 0) 

matchString = @"(^(0\.0*[1-9]+[0-9]*$|[1-9]+[0-9]*\.[0-9]*[0-9]$|[1-9]+[0-9]*$)|^0$)"; 

break; 

case NumType.Positive: 

//正数 

matchString = @"^(0\.0*[1-9]+[0-9]*$|[1-9]+[0-9]*\.[0-9]*[0-9]$|[1-9]+[0-9]*$)"; 

break; 

case NumType.NonPositive: 

//非正数(负数 + 0) 

matchString = @"(^-(0\.0*[1-9]+[0-9]*$|[1-9]+[0-9]*\.[0-9]*[0-9]$|[1-9]+[0-9]*$)|^0$)"; 

break; 

case NumType.Negative: 

//负数 

matchString = @"^-(0\.0*[1-9]+[0-9]*$|[1-9]+[0-9]*\.[0-9]*[0-9]$|[1-9]+[0-9]*$)"; 

break; 

default: 

break; 

return Regex.IsMatch(str, matchString, RegexOptions.IgnoreCase); 

 }

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容