/// <summary>
/// 字符帮助类
/// </summary>
public class StringHelper
{
private static readonly Regex RegEmail = new Regex("^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@([\\w-]+\\.)+\\w{2,3})\\s*$", RegexOptions.IgnoreCase); //验证邮箱正则
private static readonly Regex RegHasCHZN = new Regex("[\u4e00-\u9fa5]", RegexOptions.IgnoreCase);//验证是否含中文正则
private static readonly Regex RegCHZN = new Regex(@"^[\u4e00-\u9fa5]{1,}$", RegexOptions.IgnoreCase);//验证是否为中文正则
private static readonly Regex RegPhone = new Regex("(^(\\d{11})$|^((\\d{7,8})|(\\d{4}|\\d{3})-(\\d{7,8})|(\\d{4}|\\d{3})-(\\d{7,8})-(\\d{4}|\\d{3}|\\d{2}|\\d{1})|(\\d{7,8})-(\\d{4}|\\d{3}|\\d{2}|\\d{1}))$)", RegexOptions.IgnoreCase); //验证电话和手机号码正则
private static readonly Regex RegUrl = new Regex(@"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?",RegexOptions.IgnoreCase);//验证Url正则
private static readonly Regex RegNumber = new Regex(@"^[0-9]*$", RegexOptions.IgnoreCase);//验证纯数字l正则 #region 判断IP格式 /// <summary>
/// 判断是否是IP地址格式 0.0.0.0
/// </summary>
/// <param name="input">待判断的IP地址</param>
/// <returns>true or false</returns>
public static bool IsIPAddress(string input)
{
if (input.IsNullOrEmpty() || input.Length < || input.Length > ) return false; const string regFormat = @"^d{1,3}[.]d{1,3}[.]d{1,3}[.]d{1,3}$"; var regex = new Regex(regFormat, RegexOptions.IgnoreCase);
return regex.IsMatch(input);
} #endregion #region 判断邮箱格式 /// <summary>
/// 判断邮箱格式
/// </summary>
/// <param name="input">文本信息</param>
/// <returns>验证结果</returns>
public static bool IsEmail(string input)
{
if (input.IsNullOrEmpty())
return false;
Match m = RegEmail.Match(input);
return m.Success;
}
#endregion #region 中文字符检测 /// <summary>
/// 检测是否有中文字符
/// </summary>
/// <param name="input">文本信息</param>
/// <returns>检测结果</returns>
public static bool IsContainCHZN(string input)
{
if (input.IsNullOrEmpty())
return false;
Match m = RegHasCHZN.Match(input);
return m.Success;
}
#endregion #region 判断是否中文
/// <summary>
/// 判断参数是否为中文字符
/// </summary>
/// <param name="input">文本信息</param>
/// <returns></returns>
public static bool IsChinese(string input)
{
if (input.IsNullOrEmpty())
return false;
Match m = RegCHZN.Match(input);
return m.Success;
}
#endregion #region 判断电话号码
// 电话号码和手机号码检查
/// <summary>
/// 电话号码和手机号码检查
/// </summary>
/// <param name="input">电话号码或手机号码</param>
/// <returns>匹配结果</returns>
public static bool IsPhone(string input)
{
if (input.IsNullOrEmpty())
return false;
Match m = RegPhone.Match(input);
return m.Success;
}
#endregion #region 判断Url合法性
/// <summary>
/// 验证请求的url是否合法
/// </summary>
/// <param name="input">输入参数</param>
/// <returns></returns>
public static bool IsUrl(string input)
{
if (input.IsNullOrEmpty())
return false;
Match m = RegUrl.Match(input);
return m.Success;
}
#endregion #region 判断是否数字
/// <summary>
/// 验证参数是否为数字
/// </summary>
/// <param name="input">输入字符串</param>
/// <returns></returns>
public static bool IsNumberic(string input)
{
if (input.IsNullOrEmpty())
return false;
Match m = RegNumber.Match(input);
return m.Success;
}
#endregion #region 字符串截取
/// <summary>
/// 检查字符串最大长度,返回指定长度的串
/// </summary>
/// <param name="input">输入字符串</param>
/// <param name="maxLength">最大长度</param>
/// <returns></returns>
public static string TextSbustring(string input, int maxLength)
{
if (input.IsNullOrEmpty())
return null;
input = input.Trim();
if (input.Length > maxLength)//按最大长度截取字符串
input = input.Substring(, maxLength);
return input;
}
#endregion #region 判断是否含关键词
/// <summary>
/// 检查是否包含SQL关键字
/// </summary>
/// <param name="input">被检查的字符串</param>
/// <returns>存在SQL关键字返回true,不存在返回false</returns>
public static bool IsContainSQLKeyWord(string input)
{
if (input.IsNullOrEmpty())
return false;
string strKeyWord = @"select|insert|delete|from|count(|drop table|update|truncate|asc(|mid(|char(|xp_cmdshell|exec master|netlocalgroup administrators|:|net user|""|or|and";
string strRegex = @"[-|;|,|/|(|)|[|]|}|{|%|@|*|!|']";
if (Regex.IsMatch(input, strKeyWord, RegexOptions.IgnoreCase) || Regex.IsMatch(input, strRegex))
return true;
return false;
} /// <summary>
/// 检查是否含有关键字
/// </summary>
/// <param name="input">被检查的字符串</param>
/// <returns></returns>
public static bool IsContainKeywords(string input)
{
if (input.IsNullOrEmpty())
return false;
string sLowerStr = input.ToLower();
string sRxStr = @"(\sand\s)|(\sand\s)|(\slike\s)|(select\s)|(insert\s)|(delete\s)|(update\s[\s\S].*\sset)|(create\s)|(\stable)|(<[iframe|/iframe|script|/script])|(')|(\sexec)|(declare)|(\struncate)|(\smaster)|(\sbackup)|(\smid)|(\scount)|(cast)|(%)|(\sadd\s)|(\salter\s)|(\sdrop\s)|(\sfrom\s)|(\struncate\s)|(\sxp_cmdshell\s)";
Regex sRx = new Regex(sRxStr);
return sRx.IsMatch(sLowerStr, );
}
#endregion #region 判断是否包含空格
/// <summary>
/// 检查是否包含空格
/// </summary>
/// <param name="input">被检查的字符串</param>
/// <returns>存在空格返回true,不存在返回false</returns>
public static bool IsContainSpace(string input)
{
if (input.IsNullOrEmpty())
return false;
if (input.IndexOf(" ") >= )
return true;
else
return false;
}
#endregion
}
         /// <summary>
/// 将对象转化为Int32类型
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static int GetInt(this object input)
{
return Convert.ToInt32(input);
}
/// <summary>
/// 将对象转化为Int64类型
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static long GetLong(this object input)
{
return Convert.ToInt64(input);
}
/// <summary>
/// 将对象转化为DateTime类型
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static DateTime GetDateTime(this object input)
{
return Convert.ToDateTime(input);
}
/// <summary>
/// 将对象转化为DateTime类型
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static DateTime? GetDateTimeNullable(this object input)
{
if (input == null||input.ToString().IsNullOrEmpty())
return null;
return Convert.ToDateTime(input);
}
/// <summary>
/// 将对象转化为Decimal类型
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static Decimal GetDecimal(this object input)
{
return Convert.ToDecimal(input);
}
/// <summary>
/// 将对象转化为Boolean类型
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static bool GetBool(this object input)
{
return Convert.ToBoolean(input);
}
     /// <summary>
/// 字符串是否为空
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsNullOrEmpty(this string str)
{
return str == null || str == string.Empty || str == "";
}
/// <summary>
/// 字符串是否不为空
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsNotNullOrEmpty(this string str)
{
return str != null && str != string.Empty && str != "";
}
/// <summary>
/// 判断是否是大于或等于0的整数
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static bool IsNumeric(this string input)
{
int output = ;
return int.TryParse(input, out output);
}
/// <summary>
/// 判断是否是合法日期
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static bool IsDateTime(this string input)
{
DateTime tmp;
return DateTime.TryParse(input, out tmp);
}
/// <summary>
/// 判断字符串是否是Decimal
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static bool IsDecimal(this string input)
{
Decimal output = ;
return decimal.TryParse(input, out output);
}
/// <summary>
/// 判断对象是否是Boolean
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static bool IsBoolean(this string input)
{
bool output = false;
return Boolean.TryParse(input, out output);
}

asp.net 字符帮助类 类型转换类的更多相关文章

  1. C#类型转换类(通用类)

    //     /// 类型转换类     /// 处理数据库获取字段为空的情况     ///     public static class DBConvert     {         #reg ...

  2. C++ 隐式类类型转换

    <C++ Primer>中提到: “可以用 单个形参来调用 的构造函数定义了从 形参类型 到 该类类型 的一个隐式转换.” 这里应该注意的是, “可以用单个形参进行调用” 并不是指构造函数 ...

  3. 字节流和字符流(InputStream类和OutputStream类)

    java流包括字节流和字符流,字节流通过I/O设备以字节数据的方式读入,而字符流则是通过字节流读入数据转换成字符"流"的形式由用户驱使. InputStream是所有字节输入流的父 ...

  4. C++ 隐式类类型转换和转换操作符

    隐式类类型转换 C++语言定义了内置类型之间的几个自动转换.也可以定义如何将其他类型的对象隐式转换为我们的类类型,或将我们的类类型的对象隐式转换为其他类型.为了定义到类类型的隐式转换,需要定义合适的构 ...

  5. C#--数组、字符与字符串--StringBuilder类、字符与字符串、字符及转义字符

    C#--数组 字符与字符串--StringBuilder类 字符与字符串 字符及转义字符

  6. [C++]复制构造函数、赋值操作符与隐式类类型转换

    问题:现有类A定义如下: class A{public:        A(int a)                            //构造函数        {              ...

  7. XML序列化 判断是否是手机 字符操作普通帮助类 验证数据帮助类 IO帮助类 c# Lambda操作类封装 C# -- 使用反射(Reflect)获取dll文件中的类型并调用方法 C# -- 文件的压缩与解压(GZipStream)

    XML序列化   #region 序列化 /// <summary> /// XML序列化 /// </summary> /// <param name="ob ...

  8. (1)ASP.NET Core 应用启动Startup类简介

    1.前言 Core与早期版本的 ASP.NET 对比,配置应用程序的方式的 Global.asax.FilterConfig.cs和RouteConfig.cs 都被Program.cs 和 Star ...

  9. 字符输出流_Writer类&FileWrite类介绍和字符输出流的基本使用_写出单个字符到文件

    字符输出流_Writer类&FileWrite类介绍 java.io.Writer:字符输出流,是所有字符输出流的最顶层的父类,是一个抽象类 共性抽象方法: void write(int c) ...

随机推荐

  1. gtest官方文档浅析

    gtest的所有官方文档:http://code.google.com/p/googletest/w/list 选择单元测试框架的那些事 gtest不是唯一开源的单元测试框架,我也不觉得它是最好的单元 ...

  2. sql server 主从数据库同步 利用发布 订阅是实现

    发布订阅功能自SQL 2005之后就有了 配置方法可参考:http://blog.csdn.net/wanmdb/article/details/7515277 遇到问题: 1. 如果代理无法启动 , ...

  3. Java学习日记9-异常

    异常(Exception) 一.什么是异常? 异常就是程序中的错误,比如数组越界.访问空指针等.在Java中,一切皆对象,异常也不例外.所有的异常都是派生于Throwable类的一个实例对象. 二.异 ...

  4. CloudFoundry云环境中应用的特殊设计

    常规的应用,大多数可以不经过任何修改即可部署于CloudFoundry云平台之上,但是在一些特殊情况下,总是不可避免地会出现一些细小的问题,如果在应用设计之初,就考虑到针对云平台的一些特殊情况,遵守云 ...

  5. Java容器详解

    线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些类均在java.util包中.在Java中,容器的类型主要有:List.Set ...

  6. motan源码分析三:与spring框架的结合

    在本文第一章,分析的demo中使用了代码加载的方式加载了相关的类,但在我们的实际工作中,使用spring来加载相关的类的情况会更多,本文将分析一下motan是如何与spring一起协同工作的,主要的原 ...

  7. Jquery UI的datepicker插件使用

    原文链接;http://www.ido321.com/375.html Jquery UI是一个非常丰富的Jquery插件,而且UI的各部分插件能够独自分离出来使用.这是其它非常多Jquery插件没有 ...

  8. Linux查看代码量

    利用find  xargs  wc可方便的计算出某个目录下源文件的代码量find sourcecode_dir_path -type f -name "*.c" -print0 | ...

  9. Configuring the JA-SIG CAS Client --官方

    1. for Java using Spring Configuration of the CAS Client for Java via Spring IoC will depend heavily ...

  10. 基础-ADO插入数据后返回自增ID @@IDENTITY

    在文件上传中,没上传一个文件都会插入一条数据信息,那么就要返回插入的数据的id,以便进行真实删除操作.以下是ADO操作数据库的返回方法: string sql = string.Format(@&qu ...