C#验证:正则表达式 验证类和界面处理(手机号码,邮箱,IP地址)

本文介绍了一种验证类的设计与实现方法,包括手机号、邮箱地址的有效性验证,并提供了详细的C#代码示例。此外,还展示了如何在界面中调用这些验证方法。

使用步骤:

1.创建验证类

2.界面调用验证类中的方法进行验证

实例代码演示如下

1.创建验证类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace Mobot.TeamFoundation.Client.UI.Users
{
    public class Validator
    {
        /// <summary>
        /// 验证手机号码
        /// </summary>
        /// <param name="source"></param>
        /// <returns></returns>
        public static bool IsMobilePhone(string source)
        {
            return Regex.IsMatch(source, @"^1[358]\d{9}$", RegexOptions.IgnoreCase);
        }
        /// <summary>
        /// 验证邮箱
        /// </summary>
        /// <param name="source"></param>
        /// <returns></returns>
        public static bool IsEmail(string source)
        {
            return Regex.IsMatch(source, @"^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@" +
            @"([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$", RegexOptions.IgnoreCase);
        }
    }
}

2.界面调用验证类中的方法进行验证

private void btnAdd_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtUserName.Text)||this.txtUserName.Text.Trim().Length>50)
            {
                XtraMessageBox.Show("用户名不能为空,且字符不能超过50个!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtUserName.Focus();
                txtUserName.SelectAll();
                return;
            }
            if (string.IsNullOrEmpty(txtDisplayName.Text) || this.txtDisplayName.Text.Trim().Length > 50)
            {
                XtraMessageBox.Show("显示名不能为空,且字符不能超过50个!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtDisplayName.Focus();
                txtDisplayName.SelectAll();
                return;
            }
            if (!Validator.IsMobilePhone(txtPhoneNumber.Text.Trim()))
            {
                XtraMessageBox.Show("请检查手机号是否输入有误!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                cbbRoleId.Focus();
                this.txtPhoneNumber.Focus();
                this.txtPhoneNumber.SelectAll();
                return;
            }
            if (!Validator.IsEmail(this.txtEmail.Text.Trim()))
            {
                MessageBox.Show("邮箱地址格式不正确!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                this.txtEmail.Focus();
                this.txtEmail.SelectAll(); ;
                return;
            }
            if (this.cbbRoleId.SelectedIndex == -1)
            {
                MessageBox.Show("请选择角色!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                this.cbbRoleId.Focus();
                return;
            }

        }

 杂记:下面是本人的邮箱另一种简单验证,可行性还求高人指点,是否可行?

if (!this.txtEmail.Text.Trim().Contains("@"))
            {
                MessageBox.Show("邮箱地址格式不正确!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                this.txtEmail.Focus();
                this.txtEmail.SelectAll(); ;
                return;
            }
            if (this.txtEmail.Text.Trim().Length == 0 || this.txtEmail.Text.Trim().Length > 50)
            {
                MessageBox.Show("邮箱不能为空,且字符不能超过50个!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                this.txtEmail.Focus();
                this.txtEmail.SelectAll(); ;
                return;
            }
            if (!Validator.IsEmail(this.txtEmail.Text.Trim()))
            {
                MessageBox.Show("邮箱地址格式不正确!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                this.txtEmail.Focus();
                this.txtEmail.SelectAll(); ;
                return;
            }

 补充:验证服务端IP @2013.01.29

 /// <summary>
        /// 验证服务端IP
        /// </summary>
        /// <returns></returns>
        public static bool ValidateIpAddress(string ip, out string msg)
        {
            msg = string.Empty;
            string strReg = @"^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$";
            System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(strReg);
            if (!regex.IsMatch(ip))
            {
                msg = "配置的IP地址格式不正确!";
                return false;
            }
            return true;
        }

 

 

 

转载于:https://www.cnblogs.com/lqsilly/archive/2012/12/17/2821296.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值