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. jslinq 使用总结

    最近一直在用 jslinq 感觉还是不错的.用于增强 Array.find() 上重点: 1: 引用 cnpm install jslinq --save (本人用淘宝镜像--npmFQ感觉也不快-- ...

  2. yield关键字用法与解析(C# 参考)

    yield 关键字向编译器指示它所在的方法是迭代器块. 编译器生成一个类来实现迭代器块中表示的行为. 在迭代器块中,yield 关键字与 return 关键字结合使用,向枚举器对象提供值. 这是一个返 ...

  3. (转)android adb pull and push

    adb命令下pull的作用是从手机端向电脑端拷文件. 命令:adb pull /sdcard/**.txt   D:\                          说明:将手机卡中的某个文本文件 ...

  4. 关于 Android 中未公开的类(用@hide隐藏的类)

    关于 Android 中未公开的类(用@hide隐藏的类) 摘自:http://wangsheng2008love.blog.163.com/blog/static/78201689201142643 ...

  5. web 面试题、简单题、复习题

    1. 概述MVC体系结构,各个部分都有那些技术来实现? M即model(模型,bean(domain)层)由javabean或EJB实现:V即view(视图,显示层)由jsp实现:C即controll ...

  6. fragment在水平/垂直时的应用

    直接看代码 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedIns ...

  7. 1074 Reversing Linked List

    题意: 每k个元素反转链表,不足k个就不反转.如原链表为1→2→3→4→5→6,k=3,则反转后的链表为3→2→1→6→5→4:若k=4,则反转后的链表为4→3→2→1→5→6. 思路: 这题会比较烦 ...

  8. 转:oracle几组重要的常见视图-v$undostat,v$open_cursor,v$rowcache,v$session_longops,v$waitstat

    v$undostat 本视图监控当前实例中undo空间以及事务如何运行.并统计undo空间开销,事务开销以及实例可用的查询长度. V$UNDOSTAT中的常用列 Endtime:以10分钟为间隔的结束 ...

  9. mysql 无意重启 [Note] /usr/sbin/mysqld: Normal shutdown

    情况: 今早发现,昨天下午安装的4台mysql服务器,突然出现,由于在shell窗口 (root@localhost:mysql.sock) [(none)]> 190102 18:12:16 ...

  10. CORS跨域资源共享漏洞

    CORS漏洞其中已经存在很久了,但是国内了解的人不是很多,文章更是少只有少,漏洞平台也没有此分类. 在DefConChina之后写了一篇算是小科普的文章. 定义CORS,Cross-Origin Re ...