#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. C++_类继承7-类设计回顾

    编译器生成的成员函数 编译器会自动生成一些公有的成员函数——特殊成员函数. 1. 默认构造函数 提供构造函数的动机之一是确保对象总能被正确地初始化.如果类包含指针成员,则必须初始化这些成员.最好提供一 ...

  2. 洛谷 P3182 [HAOI2016]放棋子(错排问题)

    题面 luogu 题解 裸的错排问题 错排问题 百度百科:\(n\)个有序的元素应有\(n!\)个不同的排列,如若一个排列使得所有的元素不在原来的位置上,则称这个排列为错排:有的叫重排.如,1 2的错 ...

  3. Oracle PL/SQL之GROUP BY GROUPING SETS

    [转自] http://blog.csdn.net/t0nsha/article/details/6538838 使用GROUP BY GROUPING SETS相当于把需要GROUP的集合用UNIO ...

  4. 【记录】metasploit总结

    sessions -l 查看会话 backgroud 暂时退出当前会话 注入进程: ps 查看进程migrate 注入进程 进程ID 一般选择explorer.exe对应的PID run vnc 查看 ...

  5. sql 死锁

    先上代码connectA: BEGIN TRAN UPDATE dbo.Student SET Sorce= WHERE id= waitfor delay '00:00:05' SELECT * F ...

  6. @font-face引用指定字体库(一)

    创建 文件夹 font 存放指定字体库 在css文件中使用字体库: html, body{ font-family: "Microsoft YaHei",Arial,Helveti ...

  7. 如何添加网页QQ在线组件

    免费开通QQ推广服务 复制代码到你想要展示的位置 粘贴,完成.

  8. Springboot与MyBatis简单整合

    之前搭传统的ssm框架,配置文件很多,看了几天文档才把那些xml的逻辑关系搞得七七八八,搭起来也是很麻烦,那时我完全按网上那个demo的版本要求(jdk和tomcat),所以最后是各种问题没成功跑起来 ...

  9. oracle 基础知识(十四)----索引扫描

    (1)索引唯一扫描(index unique scan) 通过唯一索引查找一个数值经常返回单个ROWID.如果该唯一索引有多个列组成(即组合索引),则至少要有组合索引的引导列参与到该查询中,如创建一个 ...

  10. 【3dsMax安装失败,如何卸载、安装3dMax 2010?】

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...