c#結合正則表達式驗證輸入的字符串

using System.Text.RegularExpressions;

#region 驗證輸入的字符串
     /// <summary>
     /// 判斷輸入的字符類型 
     /// </summary>
     /// <param name="_value">輸入的字串</param>
     /// <param name="_kind">要驗證的類型</param>
     /// 1: 由26個英文字母組成的字串
     /// 2: 正整數
     /// 3: 非負整數(正整數 + 0)
     /// 4: 非正整數(負整數 + 0)
     /// 5: 負整數
     /// 6: 整數
     /// 7: 非負浮點數(正浮點數 + 0)
     /// 8: 正浮點數
     /// 9: 非正浮點數(負浮點數 + 0)
     /// 10: 負浮點數
     /// 11: 浮點數
     /// 12: 由26個英文字母的大寫組成的字串
     /// 13: 由26個英文字母的小寫組成的字串
     /// 14: 由數位和26個英文字母組成的字串
     /// 15: 由數位、26個英文字母或者下劃線組成的字串
     /// 16: Email
     /// 17: URL
     /// 18: 只能輸入入中文
     /// 19:
     /// </param>
     /// <returns>true是驗証通過,false是驗証錯誤</returns>
     /// <returns></returns>

     public   bool ValidateUserInput(String _value, int _kind)
     {
         string RegularExpressions = null;

         switch (_kind)
         {
             case 1:
                 //由26個英文字母組成的字串
                 RegularExpressions = "^[A-Za-z]+$";
                 break;
             case 2:
                 //正整數
                 RegularExpressions = "^[0-9]*[1-9][0-9]*$";
                 break;
             case 3:
                 //非負整數(正整數 + 0)
                 RegularExpressions = "^//d+$";
                 break;
             case 4:
                 //非正整數(負整數 + 0)
                 RegularExpressions = "^((-//d+)|(0+))$";
                 break;
             case 5:
                 //負整數
                 RegularExpressions = "^-[0-9]*[1-9][0-9]*$";
                 break;
             case 6:
                 //整數
                 RegularExpressions = "^-?//d+$";
                 break;
             case 7:
                 //非負浮點數(正浮點數 + 0)
                 RegularExpressions = "^//d+(
//.//d+)?$";
                 break;
             case 8:
                 //正浮點數
                 RegularExpressions = "^(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*))$";
                 break;
             case 9:
                 //非正浮點數(負浮點數 + 0)
                 RegularExpressions = "^((-//d+(
//.//d+)?)|(0+(//.0+)?))$";
                 break;
             case 10:
                 //負浮點數
                 RegularExpressions = "^(-(([0-9]+//.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*//.[0-9]+)|([0-9]*[1-9][0-9]*)))$";
                 break;
             case 11:
                 //浮點數
                 RegularExpressions = "^(-?//d+)(
//.//d+)?$";
                 break;
             case 12:
                 //由26個英文字母的大寫組成的字串
                 RegularExpressions = "^[A-Z]+$";
                 break;
             case 13:
                 //由26個英文字母的小寫組成的字串
                 RegularExpressions = "^[a-z]+$";
                 break;
             case 14:
                 //由數位和26個英文字母組成的字串
                 RegularExpressions = "^[A-Za-z0-9]+$";
                 break;
             case 15:
                 //由數位、26個英文字母或者下劃線組成的字串
                 RegularExpressions = "^[0-9a-zA-Z_]+$";
                 break;
             case 16:
                 //email地址
                 RegularExpressions = "
//w+([-+.']//w+)*@//w+([-.]//w+)*//.//w+([-.]//w+)*";
                 break;
             case 17:
                 //url
                 RegularExpressions = "^[a-zA-z]+://(
//w+(-//w+)*)(//.(//w+(-//w+)*))*(//?//S*)?$";
                 break;
             case 18:
                 //只能輸入中文
                 RegularExpressions = "^[^/u4E00-/u9FA5]";
                 break;
             case 19:
                 //只能输入0和非0打头的数字
                 RegularExpressions = "^(0|[1-9][0-9]*)$";
                 break;
             case 20:
                 //只能输入数字
                 RegularExpressions = "^[0-9]*$";
                 break;
             case 21:
                 //只能輸入數字加2位小數
                 RegularExpressions = "^[0-9]+(.[0-9]{1,2})?$";
                 break;
             case 22:
                 //只能输入0和非0打头的数字加2位小數
                 RegularExpressions = "^(0|[1-9]+)(.[0-9]{1,2})?$";
                 break;
             case 23:
                 //只能输入0和非0打头的数字加2位小數   但不匹配0.00
                 RegularExpressions = "^(0(.(0[1-9]|[1-9][0-9]))?|[1-9]+(.[0-9]{1,2})?)$";
                 break;
             default:
                 break;
         }

         Match m = Regex.Match(_value, RegularExpressions);

         if (m.Success)
             return true;
         else
             return false;

     }
     #endregion



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1818950

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值