常用的一些验证 System.Text.RegularExpressions 身份证号等

一.网络验证应用技巧

1. 验证 E-mail格式

    public bool IsEmail(string str_Email)
   {
        return System.Text.RegularExpressions.Regex.IsMatch(str_Email,@"^([/w-/.]+)@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.)|(([/w-]+/.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(/]?)$");
   }

2. 验证 IP 地址

       public bool IPCheck(string IP)
      {
          string num = "(25[0-5]|2[0-4]//d|[0-1]//d{2}|[1-9]?//d)";
          return Regex.IsMatch(IP,("^" + num + "//." + num + "//." + num + "//." + num + "$"));
       }

3. 验证 URL

      public bool IsUrl(string str_url)
     {
        return System.Text.RegularExpressions.Regex.IsMatch(str_url, @"http(s)?://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?");
     }

 二.  常用数字验证技巧

1. 验证电话号码

    public bool IsTelephone(string str_telephone)
    {
        return System.Text.RegularExpressions.Regex.IsMatch(str_telephone, @"^(/d{3,4}-)?/d{6,8}$");
    }

2. 输入密码条件(字符与数据同时出现)

    public bool IsPassword(string str_password)
    {          
        return System.Text.RegularExpressions.Regex.IsMatch(str_password, @"[A-Za-z]+[0-9]");
    }

3. 邮政编号

    public bool IsPostalcode(string str_postalcode)
    {
        return System.Text.RegularExpressions.Regex.IsMatch(str_postalcode, @"^/d{6}$");
    }

4. 手机号码

     public bool IsHandset(string str_handset)
    {
        return System.Text.RegularExpressions.Regex.IsMatch(str_handset, @"^[1]+[3,5]+/d{9}$");
    }

5. 身份证号

     public bool IsIDcard(string str_idcard)
    {
        return System.Text.RegularExpressions.Regex.IsMatch(str_idcard, @"(^/d{18}$)|(^/d{15}$)");
    }

6. 两位小数

     public bool IsDecimal(string str_decimal)
    {
            return System.Text.RegularExpressions.Regex.IsMatch(str_decimal, @"^[0-9]+(.[0-9]{2})?$");
    }

7. 一年的12个月

     public bool IsMonth(string str_Month)
    {
        return System.Text.RegularExpressions.Regex.IsMatch(str_Month, @"^(0?[[1-9]|1[0-2])$");
    }

8. 一个月的31天

     public bool IsDay(string str_day)
    {
        return System.Text.RegularExpressions.Regex.IsMatch(str_day, @"^((0?[1-9])|((1|2)[0-9])|30|31)$");
    }

9. 数字输入

     public bool IsNumber(string str_number)
     {
        return System.Text.RegularExpressions.Regex.IsMatch(str_number, @"^[0-9]*$");
     }

10. 密码长度 (6-18位)

     public bool IsPasswLength(string str_Length)
    {
        return System.Text.RegularExpressions.Regex.IsMatch(str_Length, @"^/d{6,18}$");
    }

11. 非零的正整数

     public bool IsIntNumber(string str_intNumber)
    {
        return System.Text.RegularExpressions.Regex.IsMatch(str_intNumber, @"^/+?[1-9][0-9]*$");
    }

三. 常用字符验证技巧

1. 大写字母

     public bool IsUpChar(string str_UpChar)
    {
        return System.Text.RegularExpressions.Regex.IsMatch(str_UpChar, @"^[A-Z]+$");
    }

2. 小写字母

     public bool IsLowChar(string str_UpChar)
    {
        return System.Text.RegularExpressions.Regex.IsMatch(str_UpChar, @"^[a-z]+$");
    }

3. 检查字符串重复出现的词

      private void btnWord_Click(object sender, EventArgs e)
     {
            System.Text.RegularExpressions.MatchCollection matches = System.Text.RegularExpressions.Regex.Matches(label1.Text, @"/b(?<word>/w+)/s+(/k<word>)/b", System.Text.RegularExpressions.RegexOptions.Compiled |          System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            if (matches.Count != 0)
            {
                foreach (System.Text.RegularExpressions.Match match in matches)
                {
                    string word = match.Groups["word"].Value;
                    MessageBox.Show(word.ToString(),"英文单词");
                }
            }
            else { MessageBox.Show("没有重复的单词"); }

        } 

4. 替换字符串

    private void button1_Click(object sender, EventArgs e)
   {           
        string strResult = System.Text.RegularExpressions.Regex.Replace(textBox1.Text, @"[A-Za-z]/*?", textBox2.Text);
        MessageBox.Show("替换前字符:" + "/n" + textBox1.Text + "/n" + "替换的字符:" + "/n" + textBox2.Text + "/n" +  "替换后的字符:" + "/n" + strResult,"替换");    }

5. 拆分字符串

  private void button1_Click(object sender, EventArgs e)
   {
        //实例: 甲025-8343243乙0755-2228382丙029-32983298389289328932893289丁
        foreach (string s in System.Text.RegularExpressions.Regex.Split(textBox1.Text,@"/d{3,4}-/d*"))
        {
            textBox2.Text+=s; //依次输出 "甲乙丙丁"
        }
    }

6. 验证输入字母 

    public bool IsLetter(string str_Letter)
   {
        return System.Text.RegularExpressions.Regex.IsMatch(str_Letter, @"^[A-Za-z]+$");
   }

7. 验证输入汉字

    public bool IsChinese(string str_chinese)
   {
        return System.Text.RegularExpressions.Regex.IsMatch(str_chinese, @"^[/u4e00-/u9fa5],{0,}$");
   }

8. 验证输入字符串 (至少8个字符)

  public bool IsLength(string str_Length)
  {
        return System.Text.RegularExpressions.Regex.IsMatch(str_Length, @"^.{8,}$");
  }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值