博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#验证:正则表达式 验证类和界面处理(手机号码,邮箱,IP地址)
阅读量:6305 次
发布时间:2019-06-22

本文共 4209 字,大约阅读时间需要 14 分钟。

使用步骤:

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    {        ///         /// 验证手机号码        ///         ///         /// 
public static bool IsMobilePhone(string source) { return Regex.IsMatch(source, @"^1[358]\d{9}$", RegexOptions.IgnoreCase); } /// /// 验证邮箱 /// /// ///
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

///         /// 验证服务端IP        ///         /// 
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

你可能感兴趣的文章
NuGet学习笔记(2)——使用图形化界面打包自己的类库
查看>>
xcode中没有autoSizing的设置
查看>>
字符编码
查看>>
企业应用:应用层查询接口设计
查看>>
浅谈Excel开发:十 Excel 开发中与线程相关的若干问题
查看>>
nfd指令的详细说明
查看>>
安装VisualSvn Server时遇到的问题
查看>>
不用Visual Studio,5分钟轻松实现一张报表
查看>>
人脸识别 开放书籍 下载地址
查看>>
Notepad++配置Python开发环境
查看>>
用户组概念 和 挂载 概念
查看>>
如何快速获取ADO连接字符串
查看>>
AspNetPager控件的最基本用法
查看>>
sessionKey
查看>>
高性能Javascript--脚本的无阻塞加载策略
查看>>
Java 编程的动态性, 第4部分: 用 Javassist 进行类转换--转载
查看>>
完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三
查看>>
iOS8 Push Notifications
查看>>
各大名企笔试及面经大全(程序猿必读)
查看>>
Oracle 连接、会话数的查看,修改
查看>>