Helper类代码
   public class Helper
{
#region 单列循环
private Helper() { } private static Helper instance = null;
/// <summary>
/// 静态实例化单体模式
/// 保证应用程序操作某一全局对象,让其保持一致而产生的对象
/// </summary>
/// <returns></returns>
public static Helper GetInstance()
{
if (instance == null)
{
instance = new Helper();
}
return instance;
}
#endregion #region 是否为汉字
/// <summary>
/// 验证输入的是否为汉字
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public bool IsChinese(string input)
{
return IsMatch(@"^[\u4e00-\u9fa5]+$", input);
}
#endregion #region 是否为手机号码
/// <summary>
/// 验证是否为手机号码
/// </summary>
/// <param name="mobile">输入的手机号码</param>
/// <returns></returns>
public bool IsMobile(string mobile)
{
string reg = "^1[3|4|5|7|8][0-9]\\d{8}$";
return IsMatch(reg, mobile);
}
#endregion #region 是否为电话号码
/// <summary>
/// 验证是否为电话号码
/// </summary>
/// <param name="phone">电话号码</param>
/// <returns></returns>
public bool IsPhone(string phone)
{
string regex = "^(\\d{3,4}-)\\d{7,8}$";
return IsMatch(regex, phone);
}
#endregion #region 是否为数字
/// <summary>
/// 是否为数字
/// </summary>
/// <param name="number"></param>
/// <returns></returns>
private bool IsNumber(string number)
{
string regex = "^-?\\d+$|^(-?\\d+)(\\.\\d+)?$";
return IsMatch(regex, number);
}
#endregion #region 匹配非负整数
/// <summary>
/// 匹配非负整数
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public bool IsNotNagtive(string input)
{
return IsMatch(@"^\d+$", input);
}
#endregion #region 匹配正整数
/// <summary>
/// 匹配正整数
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public bool IsUnit(string input)
{
return IsMatch(@"^[0-9]*[1-9][0-9]*$", input);
}
#endregion #region 字符是否包含英文
/// <summary>
/// 判断输入字符是否包含英文
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public bool IsHaveEnglish(string input)
{
return IsMatch(@"^[A-Za-z]+$", input);
}
#endregion #region 是否为Email
/// <summary>
/// 是否为Email
/// </summary>
/// <param name="mail"></param>
/// <returns></returns>
public bool IsEmail(string mail)
{
string regex = @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
return IsMatch(regex, mail);
}
#endregion #region 判断是否包含数字和英文字母
/// <summary>
/// 判断是否包含数字和英文字母
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public bool IsNumAndEng(string input)
{
return IsMatch(@"^[A-Za-z0-9]+$", input);
}
#endregion #region 判断是否为url
/// <summary>
/// 判断是否为超链接
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public bool IsUrl(string url)
{
string regex = @"[a-zA-z]+://[^\s]*";
return IsMatch(regex, url);
}
#endregion #region 判断输入的字符串是否是一个合法IP地址
/// <summary>
/// 判断输入的字符串是否是一个合法IP地址
/// </summary>
/// <param name="ip"></param>
/// <returns></returns>
public bool IsIPV4(string ip)
{
string[] ips = ip.Split(',');
for (int i = ; i < ips.Length; i++)
{
if (!IsMatch(@"^\d+$", ips[i]))
{
return false;
}
if (Convert.ToUInt16(ips[i]) > )
{
return false;
}
}
return true;
}
#endregion #region 判断输入的字符串是否是一个合法的IPV6地址
/// <summary>
/// 判断输入的字符串是否是一个合法的IPV6地址
/// </summary>
/// <param name="ip"></param>
/// <returns></returns>
public bool IsIPV6(string ip)
{
string pattern = "";
string temp = ip;
string[] strs = temp.Split(':');
if (strs.Length > )
{
return false;
}
int count = Helper.GetStringCount(ip, "::");
if (count > )
{
return false;
}
else if (count == )
{
pattern = @"^([\da-f]{1,4}:){7}[\da-f]{1,4}$";
return IsMatch(pattern, ip);
}
else
{
pattern = @"^([\da-f]{1,4}:){0,5}::([\da-f]{1,4}:){0,5}[\da-f]{1,4}$";
return IsMatch(pattern, ip);
}
}
#endregion /// <summary>
/// 调用Regex中IsMatch函数实现一般的正则表达式匹配
/// </summary>
/// <param name="pattern">要匹配的正则表达式模式。</param>
/// <param name="input">要搜索匹配项的字符串</param>
/// <returns>如果正则表达式找到匹配项,则为 true;否则,为 false。</returns>
public static bool IsMatch(string pattern, string input)
{
if (input == null || input == "")
return false;
Regex regex = new Regex(pattern);
return regex.IsMatch(input);
} /// <summary>
/// 从输入字符串的第一个字符开始,用替换字符串替换指定的正则表达式模式的所有匹配项
/// </summary>
/// <param name="pattern">模式字符串</param>
/// <param name="input">输入字符串</param>
/// <param name="replacement">用于替换的字符串</param>
/// <returns>返回替换后的结果</returns>
public static string Replace(string pattern, string input, string replacement)
{
Regex regex = new Regex(pattern);
return regex.Replace(input, replacement);
} /// <summary>
/// 在由正则表达式模式定义的位置拆分输入字符串
/// </summary>
/// <param name="pattern">模式字符串</param>
/// <param name="input">输入字符串</param>
/// <returns></returns>
public static string[] Split(string pattern, string input)
{
Regex regex = new Regex(pattern);
return regex.Split(input);
} /// <summary>
/// 判断compare在input中出现的次数
/// </summary>
/// <param name="input">源字符串</param>
/// <param name="compare">用于比较的字符串</param>
/// <returns>字符串compare在input中出现的次数</returns>
public static int GetStringCount(string input, string compare)
{
int index = input.IndexOf(compare);
if (index != -)
{
return + GetStringCount(input.Substring(index + compare.Length), compare);
}
else
{
return ;
}
} //private static string GetRegularFormula(string RegulatFormula)
//{
// string str = "";
// if (RegulatFormula.ToUpper().IndexOf("RegularFormula".ToUpper()) > -1)
// {
// RegularFormula formula = new RegularFormula();
// }
//}
}
  测试代码
     protected void btnVerification_Click(object sender, EventArgs e)
{
string chinese = txtChinese.Text.Trim();
string english = txtEnglish.Text.Trim();
string numEng = txtNumAndEng.Text.Trim();
string num = txtInteger.Text.Trim();
string mobile = txtMobile.Text.Trim();
string phone = txtPhome.Text.Trim();
string emil = txtMail.Text.Trim();
string url = txtUrl.Text.Trim();
if (Helper.GetInstance().IsChinese(chinese))
{
Response.Write("输入的中文正确:" + chinese + "<br/>");
}
else
{
Response.Write("请输入全中文<br/>");
}
if (Helper.GetInstance().IsHaveEnglish(english))
{
Response.Write("输入的为英文字符串:" + english + "<br/>");
}
else
{
Response.Write("请输入全英文<br/>");
}
if (Helper.GetInstance().IsNumAndEng(numEng))
{
Response.Write("数字字母混合:" + numEng + "<br/>");
}
else
{
Response.Write("不是正确的数字字母混合<br/>");
}
if (Helper.GetInstance().IsUnit(num))
{
Response.Write("输入的为正整数:" + num + "<br/>");
}
else if (Helper.GetInstance().IsNotNagtive(num))
{
Response.Write("输入的为负整数:" + num + "<br/>");
}
else
{
Response.Write("数字输入有误<br/>");
}
if (Helper.GetInstance().IsMobile(mobile))
{
Response.Write("手机号码为:" + mobile + "<br/>");
}
else
{
Response.Write("手机号码不正确<br/>");
}
if (Helper.GetInstance().IsPhone(phone))
{
Response.Write("电话号码为:" + phone + "<br/>");
}
else
{
Response.Write("电话号码有误<br/>");
}
if (Helper.GetInstance().IsEmail(emil))
{
Response.Write("邮箱地址为:" + emil + "<br/>");
}
else
{
Response.Write("邮箱地址有误<br/>");
}
if (Helper.GetInstance().IsUrl(url))
{
Response.Write("url地址为:" + url + "<br/>");
}
else
{
Response.Write("请输入正确的url地址");
}
}

结果图如下:

验证中文、英文、电话、手机、邮箱、数字、数字和字母、Url地址和Ip地址的正则表达式的更多相关文章

  1. iOS 开发 常用的正则验证表达式:电话 、邮箱等等

    #pragma mark - 验证手机号 +(BOOL)checkForMobilePhoneNo:(NSString *)mobilePhone{ NSString *regEx = @" ...

  2. js正则判断电话/手机/邮箱/

    用途:校验ip地址的格式 输入:strIP:ip地址返回:如果通过验证返回true,否则返回false:*/ function isIP(strIP) { if (isNull(strIP)) ret ...

  3. Andorid 手机WIFI连接的Mac地址和IP地址

    public static String getInfo()     {        WifiManager wifi = (WifiManager) getSystemService(Contex ...

  4. WPF数字输入框和IP地址输入框

    数字输入框 简介 在业务中,我们经常需要限制用户的输入,比如限制输入长度,限制只能输入数字等等.限制输入长度WPF内置的TextBox已经帮我们解决了,但是限制输入数字却并未在WPF中内置解决方案.使 ...

  5. (C#)IP地址与数字地址相互转换

    站长网IP查询地址:http://tool.chinaz.com/ip/ 和ip地址转换为数字的工具地址:http://www.msxindl.com/tools/ip/ip_num.asp 可以看到 ...

  6. 如何查看连接到手机热点的ip地址

    因为最近玩树莓派,需要手机做热点,然后用树莓派连接到这个热点上,苦于不知道树莓派被分配了什么样的ip地址,经过一番探索,我发现了两种办法, 安装一个 android terminal( 安卓命令行), ...

  7. C#验证字符串是否是数字,是否包括中文,是否是邮箱格式,是否是电话格式

    using System;     using System.Web;     using System.Text;     using System.Web.UI.WebControls;     ...

  8. 常用正则表达式大全,手机、电话、邮箱、身份证(最严格的验证)、IP地址、网址、日期等

    <script type="text/javascript">/* * 手机号码格式 * 只允许以13.15.18开头的号码 * 如:13012345678.15929 ...

  9. sql 查询字段是中文/英文/数字 正则表达式

    一.包含中文字符 select * from 表名 where 列名 like '%[吖-座]%' 二.包含英文字符 select * from 表名 where 列名 like '%[a-z]%' ...

随机推荐

  1. 非常详细的 Docker 学习笔记

    一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享.管理 Docker 容器的 Docker SaaS 平台 -- Docke ...

  2. HTML5图片拖拽预览原理及实现

    一.前言 这两天恰好有一位同事问我怎样做一个图片预览功能.作为现代人的我们首先想到的当然是HTML5啦,其实HTML5做图片预览已经是一个老生常谈的问题了.我在这里就简单说说其中相关的一些东西,当然会 ...

  3. oracle数据库常用SQL语句

    1)删除表的一列 ALTER TABLE 表名 DROP COLUMN 列名; 2)增加表的一列 且默认值为0 alter table 表名 add 字段名 类型 default '0'; 3)修改表 ...

  4. Japan

    Japan plans to welcome the ACM ICPC World Finals and a lot of roads must be built for the venue. Jap ...

  5. [ASP.NET] Http协议GET与POST

    引言 HTTP 协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来.但是如果我问你HTTP协议的请求方法有哪些?POST与GET的差异?GET或POST传送数据量的大小有限制吗?HTTP响应的状 ...

  6. 【Android 界面效果15】Android UI 之一步步教你自定义控件(自定义属性、合理设计onMeasure、合理设计onDraw等)

        Android开发做到了一定程度,多少都会用到自定义控件,一方面是更加灵活,另一方面在大数据量的情况下自定义控件的效率比写布局文件更高.     一个相对完善的自定义控件在布局文件中和java ...

  7. [原创] Web UI自动化应用测试框架实践 - 概览

    之前为我们部门做的一个UI框架.不能纯粹解读为框架,主要是做了一些简单的分层设计,以解决稳定性.降低复杂性.提升可维护性以及快速构建测试用例等实际问题. 主要部分:1. 测试数据.主要提供测试类库需要 ...

  8. vb.net机房收费系统之组合查询

    我个人一直认为,组合查询是机房收费系统的一个难点,尤其是用到三层之后,如果要为组合查询中的每一个查询建立一个显然是太麻烦了. 下面介绍一下我的方法,对大家起个参考作用. 我将该表中可输入的内容定义为一 ...

  9. java基础-在dos控制台编写简易的java程序

    第一步:在文件夹中修改隐藏的文件扩展名,让其文件的扩展名全部显示: 第二步:在文件夹中新建一个text文件,将其扩展名属性改为Hello.java的文件扩展名: 第三步:点击右键打开方式用txt文本打 ...

  10. JQuery事件与应用(一)

    来源:http://www.imooc.com/learn/11     jQuery基础课程 一.使用bind()方法绑定元素的事件 功能: 在ready()事件中绑定一个按钮的单击事件,使用bin ...