using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web;

namespace Holworth.Utility
{
public class ValidateCommon
{

public static bool ValidateDaysConvention(string a)
{

if (a.ToLower() == "A/360".ToLower() || a.ToLower() == "A/365".ToLower() || a.ToLower() == "ACTUAL/360".ToLower() || a.ToLower() == "ACTUAL/365".ToLower() || a.ToLower() == "Act/360".ToLower() || a.ToLower() == "Act/365".ToLower())
{
return true;
}

return false;

}

public static bool ValidateRateDayCountFraction(string a)
{

if (a.ToLower() == "Act/360,Ajusted".ToLower() || a.ToLower() == "Act/365,Ajusted")
{
return true;
}

return false;

}
public static bool ValidateBenchmarkInterest(string a)
{

if (a.ToLower() == "A/360".ToLower() || a.ToLower() == "A/365".ToLower() || a.ToLower() == "ACTUAL/360".ToLower() || a.ToLower() == "ACTUAL/365".ToLower() || a.ToLower() == "Act/360".ToLower() || a.ToLower() == "Act/365".ToLower())
{
return true;
}

return false;

}

public static bool ValidateCCYPair(string a)
{
string regexPosition = @"^[A-Z]{3}\.[A-Z]{3}$";
if (Regex.IsMatch(a, regexPosition))
{
return true;
}

return false;

}

public static bool ValidateNotionCurrency(string a)
{

string regexPositio2 = @"^([A-Z]{3}/[A-Z]{3})|([A-Z]{3})$";
if (Regex.IsMatch(a, regexPositio2))
{
return true;
}

return false;
}
public static bool ValidateBuyOrSell(string a)
{
if (a.ToUpper() == "BUY" || a.ToUpper() == "SELL"||a=="买"||a=="卖")
{
return true;
}
return false;
}
public static bool ValidateCallOrPut(string a)
{
if (a.ToUpper() == "Call".ToUpper() || a.ToUpper() == "Put".ToUpper())
{
return true;
}
return false;
}
public static bool ValidateCCYBaseDirection(string a)
{
if (a.ToUpper() == "B" || a.ToUpper() == "S" || a.ToUpper() == "Buy" || a.ToUpper() == "Sell"||a.ToUpper()=="B/S")
{
return true;
}
return false;
}

public static bool ValidatePrice(string a)
{
string regexPosition = @"^([0-9]+(\.[0-9]+)?)$";
if (Regex.IsMatch(a, regexPosition))
{
return true;
}
else
{
return false;
}
}
public static bool ValidateIsNum(string a)
{
string regexPosition = @"^([0-9]+)$";
if (Regex.IsMatch(a, regexPosition))
{
return true;
}
else
{
return false;
}
}
public static bool ValidateDateTime(string date)
{
date = date.Replace("'", "");
string RegexExpression =
@"^(\d{4}-(?:0?\d|1[0-2])-(?:[0-2]?\d|3[01])( (?:[01]\d|2[0-3])\:[0-5]\d\:[0-5]\d)?)|(\d{4}/(?:0?\d|1[0-2])/(?:[0-2]?\d|3[01])( (?:[01]\d|2[0-3])\:[0-5]\d\:[0-5]\d)?)|((?:0[1-9]|[12][0-9]|3[01])\/(?:0[1-9]|1[0-2])\/((?:19|20)\d{2})( (?:[01]\d|2[0-3])\:[0-5]\d\:[0-5]\d)?)|((19|20)\d\d(0[1-9]|1[012])(0[1-9]|[12]\d|3[01]))$";

if (Regex.IsMatch(date, RegexExpression))
{
return true;
}
return false;
}

/// <summary>
/// 时间转换yyyy/mm/dd格式
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
public static string ValidateDateTimeString(string date)
{
date = date.Replace("'", "");
string RegexExpression = @"^(19|20)\d\d(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])$";
if (Regex.IsMatch(date, RegexExpression))
{
string dateTime = date;
string year = dateTime.Substring(0, 4);
string mm = dateTime.Substring(4, 2);
string dd = dateTime.Substring(6, 2);
return date = year + "/" + mm + "/" + dd;
}
return date;
}

public static bool ValidateNotNull(string a)
{

if (!string.IsNullOrEmpty(a))
{
return true;
}
return false;
}
public static bool ValidateValuationCurreny(string a)
{

string regexPosition = @"^[A-Z]{3}$";
if (Regex.IsMatch(a, regexPosition))
{
return true;
}
else
{
return false;
}
return false;
}
public static bool ValidateCurreny(string a)
{

string regexPosition = @"^[A-Z]{3}$";
if (Regex.IsMatch(a, regexPosition))
{
return true;
}
else
{
return false;
}
return false;
}
public static bool ValidateCCYAmount(string amount)
{
amount = amount.Replace(",", "");
string regexPosition = @"^([0-9]+(\.[0-9]+)?)$";
if (Regex.IsMatch(amount, regexPosition))
{
return true;
}
else
{
return false;
}
}

}
}

c# 常规验证基类的更多相关文章

  1. 本版本延续MVC中的统一验证机制~续的这篇文章,本篇主要是对验证基类的扩展和改善(转)

    本版本延续MVC中的统一验证机制~续的这篇文章,本篇主要是对验证基类的扩展和改善 namespace Web.Mvc.Extensions { #region 验证基类 /// <summary ...

  2. C# 验证识别基类

    原文C# 验证识别基类 网上找了些代码 自己又改了下 先放出来了 处理简单的验证码足够了 001 using System; 002 using System.Collections.Generic; ...

  3. Winform框架中窗体基类的用户身份信息的缓存和提取

    在Winform开发中,有时候为了方便,需要把窗体的一些常规性的数据和操作函数进行封装,通过自定义基类窗体的方式,可以实现这些封装管理,让我们的框架统一化.简单化的处理一些常规性的操作,如这里介绍的用 ...

  4. 基于SqlSugar的开发框架循序渐进介绍(10)-- 利用axios组件的封装,实现对后端API数据的访问和基类的统一封装处理

    在SqlSugar的开发框架的后端,我们基于Web API的封装了统一的返回结果,使得WebAPI的接口返回值更加简洁,而在前端,我们也需要统一对返回的结果进行解析,并获取和Web API接口对应的数 ...

  5. lua中基类和“继承机制”

    基类:基类定义了所有对于派生类来说普通的属性和方法,派生类从基类继承所需的属性和方法,且在派生类中增加新的属性和方法. 继承:继承是C++语言的一种重要机制,它允许在已定义的类的基础上产生新类. lu ...

  6. MVC的基类

    设计一个验证用户身份是否登陆的基类BaseController /// <summary> /// 所有需要进行登录控制的控制器基类 /// </summary> public ...

  7. iOS控制器之基类设计

    题记 在进入新公司后.经过这一个月的重构项目,终于把项目做到了个人相对满意的程度(还有一种不满意的叫老板的需求,提过多次意见也没用= =!).在这次重构中按照以前的思路设计出了个人觉得比较适用的一个基 ...

  8. 【c++】虚基类

    何要使用虚基类: 为何避免多层继承中出项多个公共基类所造成的歧义现象 虚基类用法 派生类继承基类时,加上一个virtual关键词则为虚拟基类继承. 在上图程序运行中,我们发现class bass的构造 ...

  9. Entity Framework 实体框架的形成之旅--为基础类库接口增加单元测试,对基类接口进行正确性校验(10)

    本篇介绍Entity Framework 实体框架的文章已经到了第十篇了,对实体框架的各个分层以及基类的封装管理,已经臻于完善,为了方便对基类接口的正确性校验,以及方便对以后完善或扩展接口进行回归测试 ...

随机推荐

  1. win键盘映射成mac键盘

    在win7系统下安装了mac虚拟机,mac的快捷键与win的键盘不一样,所以ctrl+c,ctrl+v都用不了,于是找方法映射. 搜索到 keyremap4macbook,,进到官网Karabiner ...

  2. PADS Router 虚焊盘显示怎么办?

    PADS Router 虚焊盘显示怎么办? 群里朋友有问不知道按了什么键,焊盘显示成以下这种,怎么还原? 解答比较简单,按个 T 就可以. 这个显示是有好处的,特别是焊盘有过孔时一眼就看到.

  3. hadoop之 Zookeeper 分布式应用程序协调服务

    (1) Zookeeper 在 Hadoop 集群中的作用 Zookeeper 是分布式管理协作框架,Zookeeper 集群用来保证 Hadoop 集群的高可用,(高可用的含义是:集群中就算有一部分 ...

  4. apache通过.htaccess(rewrite)判断手机电脑跳转-手机用户重定向到手机版

    自动判断.重定向的办法也有几种: 使用网站构建的程序(例如PHP)来判断.重定向:使用服务器上的Web服务(例如Apache)来判断.重定向. 在Apache中设置重定向有两个办法: 在网站的http ...

  5. python urllib和urllib3包

    urllib.request urllib当中使用最多的模块,涉及请求,响应,浏览器模拟,代理,cookie等功能. 1. 快速请求 urlopen返回对象提供一些基本方法: read 返回文本数据 ...

  6. json and pickle 序列化和反序列化

    类似vmware虚拟机里的虚拟主机挂起操作,把当前内存拷贝成文件保存. 上面的这种操作就叫内存序列化:如下图: 有序列化就有反序列化,要把文件里的东西再恢复成字典:eval把字符串变成字典. 但是上面 ...

  7. xunsearch全文检索初体验

    目录 测试添加数据 测试搜索 简单搜索 稍微复杂的搜索 搜索建议 测试添加数据 ./Indexer.php --source=csv --clean demo 清空现有索引数据 ... 初始化数据源 ...

  8. mysql特性及部署规范

    --分支版本,mysql对cpu,内存,io子系统资源利用特点--oracle mysql,mariadb,percona server--部署规范建议,系统安装,mysql安装,其他规范互联网业务为 ...

  9. 升级python到2.7

    wget http://python.org/ftp/python/2.7.8/Python-2.7.8.tgz tar zxvf Python-.tgz cd Python- ./configure ...

  10. oracle导入数据和编码问题

    配置contrl文件 load data characterset utf8 append into table role_res_gold fields terminated by ';' TRAI ...