/// <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. HTML5的在线视频播放方案

    移动端H5音频与视频问题及解决方案 看下最后实际效果:兼容PC,iphone, 安卓5.0 解决了,手动,自动,不全屏的问题 左边视频代替了动画,然后支持背景蒙板效果,能够透出底图 右边是原视频文件 ...

  2. POJ1080 Human Gene Functions(LCS)

    题目链接. 分析: 和 LCS 差不多. #include <iostream> #include <cstdio> #include <cstdlib> #inc ...

  3. Makefile中的wildcard和patsubst

    makefile 里的函数跟它的变量很相似——使用的时候,你用一个 $ 符号跟开括号,函数名,空格后跟一列由逗号分隔的参数,最后用关括号结束.    例如,在 GNU Make 里有一个叫 'wild ...

  4. C语言中for循环的使用

    for循环的作用: 注意:要主要满足条件一和二后是先执行语句,后再执行条件三. 简单重复的输出 for(int i=0:i<10;i++){ printf("对一句话简单重复输出输出1 ...

  5. 2013=12=2 bitree

    #include "stdio.h" #include "stdlib.h" #define OVERFLOW -1 #define ERROR -1 #def ...

  6. C - A Plug for UNIX - poj 1087(最大流)

    题目大意:这个题意有些蛋疼,看了很大会才明白什么意思,有N个插座,这些插座都是有类型的只能给这种类型的电器充电,下面接着给了M种电器,和电器的插头类型,还有K种转换器,可以把一种类型转换成另一种,转换 ...

  7. Git Bash 使用心得

    1:下载Git  Git for Windows 2:点击安装,依次默认下一步 3:安装完成 4:设置SSH建立计算机与Github的链接 4.1 点击开始菜单找到Git Bash,并点击: 4.2 ...

  8. MyBatis(1):MyBatis入门

    MyBatis是什么 MyBatis是什么,MyBatis的jar包中有它的官方文档,文档是这么描述MyBatis的: MyBatis is a first class persistence fra ...

  9. iOS常用的开源类库

    开发几个常用的开源类库及下载地址: 引用 1.json json编码解码 2.GTMBase64 base64编码解码 3.TouchXML xml解析 4.SFHFKeychainUtils 安全保 ...

  10. java遍历map方法

    java 代码: import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class Map ...