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. IOS UItableView 滚动到底 触发事件

    开发过程中,在使用UItableView 总会遇到加载更多的问题,到底是手势响应瀑布流的方法好? 还是添加一个底端cell点击触发加载更多好?我也想有自己的判断.但是我们老板总说了算,没办法,谁叫我给 ...

  2. [Windows] VS2010代码模板添加版权信息

    通过以下方式可以自定义CS类文件代码模板(以下为VS2010,VS2008类似): 1,打开VS的安装目录,例如 D:\Program Files\Microsoft Visual Studio 10 ...

  3. Java基础知识强化104:Serializable接口 与 Parcelable接口

    1. 什么是 序列化 和 反序列化 ?     序列化 :序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化.可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间.序 ...

  4. iOS - UI - UIActivityIndicatorView

    1.UIActivityIndicatorView HUD 指示器 UIActivityIndicatorView * indicatorView = [[UIActivityIndicatorVie ...

  5. 存储过程 <3> 和函数的区别

    二.函数和存储过程的优点: 1.共同使用的代码可以只需要被编写一次,而被需要该代码的任何应用程序调用(.net,c++,java,也可以使DLL库). 2.这种几种编写.几种维护更新.大家共享的方法, ...

  6. HttpServletResponse接口

    public interface HttpServletResponse extends ServletResponse 描述一个返回到客户端的HTTP回应.这个接口允许Servlet程序员利用HTT ...

  7. hihocoder 1037 数字三角形

    #1037 : 数字三角形 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 问题描述 小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他们来到了大洋彼岸 ...

  8. HTML5+开发移动app-mui开发示例

    mui 官网:http://dcloudio.github.io/mui/ 说明:希望你可以把官网内容通读一遍,这是以后开发的基础 开始 新建项目 在首页点击新建移动App,如下: 或者在项目管理器内 ...

  9. (火炬)MS SQL Server数据库案例教程

    (火炬)MS SQL Server数据库案例教程 创建数据库: CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引 ...

  10. mysql一对多关联查询的时候筛选条件

    mysql实现users 表和 logoin_log表是一对多, 现在是把user的信息找出来 关联上一些 logoin_log表的数据, 因为a表是多的一方,要多他的数据进行一些条件匹配,这个sql ...