#region 扩展验证方法

        #region <<IsNullOrEmpty()字符串是否为空>>
/// <summary>
/// <para>代码说明:</para>
/// <para>  验证字符串是否为null、Empty、空</para>
/// <para>  如果满足以上条件则返回 true 否则返回 false</para>
/// </summary>
/// <param name="source">字符串</param>
/// <returns>是否为null、Empty、空</returns>
public static bool IsNullOrEmpty(this string source)
{
if (source == null) return true;
return string.IsNullOrEmpty(source.Trim());
}
#endregion #region <<IsEmail()字符串是否为邮箱>>
/// <summary>
/// <para>代码说明:</para>
/// <para>  验证字符串是否为邮箱</para>
/// <para>  如果字符串为邮箱则返回 true 否则返回 false</para>
/// </summary>
/// <param name="source">字符串</param>
/// <returns>是否为邮箱</returns>
public static bool IsEmail(this 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);
}
#endregion #region <<IsDateTime()字符串是否为日期格式>>
/// <summary>
/// <para>代码说明:</para>
/// <para>  验证字符串是否为日期格式</para>
/// <para>  验证字符串为日期格式则返回 true 否则返回 false</para>
/// </summary>
/// <param name="source">字符串</param>
/// <returns>是否为日期格式</returns>
public static bool IsDateTime(this string source)
{
try
{
DateTime time = Convert.ToDateTime(source);
return true;
}
catch
{
return false;
}
}
#endregion #region <<IsInt()字符串是否为Int类型>>
/// <summary>
/// <para>代码说明:</para>
/// <para>  验证字符串是否为Int类型</para>
/// <para>  验证字符串为Int类型则返回 true 否则返回 false</para>
/// </summary>
/// <param name="source">目标字符串</param>
/// <returns>验证结果</returns>
public static bool IsInt(this string source)
{
Regex regex = new Regex(@"^\d{1,10}$"); if (regex.Match(source).Success)
{
if ((long.Parse(source) > 0x7fffffffL) || (long.Parse(source) < -2147483648L))
{
return false;
}
return true;
}
return false;
}
#endregion #endregion #region 其他扩展方法 #region <<分割字符串>>
/// <summary>
/// <para>代码说明:</para>
/// <para>  通过字符串分割字符串</para>
/// <para>  通过字符串进行分割字符串,返回分割后的string[] 类型</para>
/// </summary>
/// <param name="source">原是字符串</param>
/// <param name="splitstr">分割字符串</param>
public static string[] Split(this string source, string splitstr)
{
string[] strArray = null;
if ((source != null) && (source != ""))
{
strArray = new Regex(splitstr).Split(source);
}
return strArray;
}
#endregion #region <<删除字符串最后一个字符>>
/// <summary>
/// <para>代码说明:</para>
/// <para>  删除字符串的最后一个字符</para>
/// <para>  用于移除掉字符串的最后一个字符,如果该字符串的长度为0,则部会发生任何变化</para>
/// </summary>
/// <param name="source">待删除的字符</param>
/// <returns>删除后的字符</returns>
public static string RemoveLastStr(this string source)
{
return source.Length > ? source.Substring(, source.Length - ) : source;
}
#endregion #endregion

后续更新ing...

String_Helper的更多相关文章

  1. CI(-)框架结构

    一 CI 是什么 CodeIgniter is an Application Development Framework - a toolkit - for people who build web ...

  2. 我的第一个python web开发框架(13)——工具函数包说明(四)

    string_helper.py是字符串操作包,主要对字符串进行检查.过滤和截取等处理. #!/usr/bin/evn python # coding=utf-8 import re def chec ...

  3. 我的第一个python web开发框架(15)——公司介绍编辑功能

    完成登录以后,就会进入后台管理系统的主界面,因为这个是小项目,所以导航菜单全部固化在HTML中,不能修改.一般后台还会有一个欢迎页或关键数据展示的主页面,小项目也没有多大的必要,所以登录后直接进入公司 ...

  4. 我的第一个python web开发框架(17)——产品管理

    这是后台管理系统最后一个功能,产品管理,它的接口与页面功能与上一章差不多. 获取产品列表接口 @get('/api/product/') def callback(): ""&qu ...

  5. 我的第一个python web开发框架(40)——后台日志与异常处理

    后台权限和底层框架的改造终于完成了,小白也终于可以放下紧悬着的心,可以轻松一下了.这不他为了感谢老菜,又找老菜聊了起来. 小白:多谢老大的帮忙,系统终于改造完成了,可以好好放松一下了. 老菜:呵呵,对 ...

  6. 我的第一个python web开发框架(38)——管理员管理功能

    后台管理员的管理功能,它主要用来管理后台的登录账号,绑定权限,当然如果想将后台管理扩展成企业相关管理系统,比如用于公司人事管理,在这个基础上进行适当扩展就可以了. 我们先看看界面效果(也可以看着数据字 ...

  7. 我的第一个python web开发框架(28)——定制ORM(四)

    在数据库操作时,新增记录也是必不可少的,接下来我们应用字典的特性来组合sql语句 先上产品新增接口代码 @post('/api/product/') def callback(): "&qu ...

  8. 我的第一个python web开发框架(29)——定制ORM(五)

    接下来我们要封装的是修改记录模块. 先上产品信息编辑接口代码 @put('/api/product/<id:int>/') def callback(id): ""&q ...

  9. 我的第一个python web开发框架(30)——定制ORM(六)

    在开发中,查询操作是使用最多的,而查询列表是其中之一,查询列表可分为分页查询和不分页查询(它们之间多了一次总记录数查询),还可以分为单表查询和多表关联查询,返回的结构体根据前端使用的表单框架不同而有所 ...

随机推荐

  1. CF1012B Chemical table(构造)

    [Luogu-CF1012B] 还有重题 P5089[eJOI2018]元素周期表 题解原话 : 可以发现这个过程是不改变二分图中的连通分量的个数的 答案就是 连通分量数-1 证明 : 设一行或一列为 ...

  2. 【算法笔记】B1007 素数对猜想

    1007 素数对猜想 (20 分) 让我们定义d​n​​为:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i个素数.显然有d​1​​=1,且对于n>1有d​n​​是偶数.“素数对猜想 ...

  3. P2048 [NOI2010]超级钢琴

    传送门 考虑维护前缀和 $sum[i]$ 那么对于每一个位置 $i$ ,左端点为 $i$ 右端点在 $[i+L-1,i+R-1]$ 区间的区间最大值容易维护 维护三元组 $(o,l,r)$ ,表示左端 ...

  4. HDU - 3038 带权并查集

    这道题我拖了有8个月... 今天放假拉出来研究一下带权的正确性,还有半开半闭的处理还有ab指向的一系列细节问题 #include<iostream> #include<algorit ...

  5. http简单请求 -- 复杂请求

  6. PHP的魔术常量(变量)、魔术方法(函数)、超全局变量

    https://www.cnblogs.com/ccw869476711/p/9183783.html 一.魔术常量(魔术变量) 概念:所谓的魔术常量就是PHP预定义的一些常量,这些常量会随着所在的位 ...

  7. ASP.NET与.NET区别

    1.NET是什么? .Net全称.NET Framework是一个开发框架,不是一门编程语言,简单的来说 就是一组类库框架,.NET开发支持C#.VB.NET.J#.Js和Managed C++等 其 ...

  8. DenyHosts 阻止SSH暴力攻击

    当你的 Linux 服务器暴露在互联网之中,该服务器将会遭到互联网上的扫描软件进行扫描,并试图猜测SSH登录口令. 你会发现,每天会有多条SSH登录失败纪录.那些扫描工具将对你的服务器构成威胁,你必须 ...

  9. 如何写一个简单的webserver(一):最简实现

    本文主要讲述如何用C/C++在Linux环境下写一个简单的支持并发的web服务器,并不考虑服务器的健壮性.安全性.性能等一系列因素. 在本文中,该服务器仅支持GET请求. 项目地址:https://g ...

  10. Tomcat疑难杂症解决记录

    1. startup.bat闪退 cmd中运行startup.bat报错: The JRE_HOME environment variable is not defined correctly Thi ...