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. Linq:从XML获取数据

    实体类 public class Customer { public string CustomerID { get; set; } public string CompanyName { get; ...

  2. LG4360 [CEOI2004]锯木厂选址

    题意 原题来自:CEOI 2004 从山顶上到山底下沿着一条直线种植了 n 棵老树.当地的政府决定把他们砍下来.为了不浪费任何一棵木材,树被砍倒后要运送到锯木厂. 木材只能朝山下运.山脚下有一个锯木厂 ...

  3. 【模板】NOIP模板汇总

    图论 数据结构 数学 其他: 洛谷模板:a,b两个字符串,求b串在a串中出现的位置 #include<iostream> #include<cstdio> #include&l ...

  4. angular中的 input select 值绑定无效,以及多出一个空白选项问题

    问题: <!-- 问题标签 --> <select ng-model="sortType"> <option value="1"& ...

  5. 解决genymotion-arm-translation.zip无法拖拽安装的问题[转]

    1.问题由来 适用情况一:当我们启动了Genymotion模拟器后,在AndroidStudio运行app时,弹出如下错误: INSTALL_FAILED_CPU_ABI_INCOMPATIABLE ...

  6. (转)从android一个apk中启动第三方apk应用

    从android一个apk中启动第三方apk应用 我们在开发中,经常遇到遇到在一个apk中要去运行另外一个apk,就像我们windows一样,搞一个快捷方式一样,那怎么实现呢? 问题的核心点在于我们要 ...

  7. dubbox部署到jdk1.7环境,启动:java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()

    本地用jdk1.8编译的服务提供端war包,部署到环境报错了: INFO: Initializing Spring root WebApplicationContext [16/08/17 05:14 ...

  8. (转)Oracle 包(Package)

    本文转载自:http://www.cnblogs.com/lovemoon714/archive/2012/02/29/2373695.html 1.为什么要使用包?       答:在一个大型项目中 ...

  9. 解决jenkins拉取报告没有样式的问题(还没试过)

    来源: https://testerhome.com/topics/9476 对于测试报告来说,除了内容的简洁精炼,样式的美观也很重要.常用的做法是,采用HTML格式的文档,并搭配CSS和JS,实现自 ...

  10. java中绘图-----那个鼠标等的监听我还是不太会,,好苦恼啊。不知道这些监听事件是怎么区分的

    总结::监听到底该怎么用 事件的区分是靠判断还是 package com.a.b; //我想实现,当我点击一个按钮时,这个frame里可以画出实心的矩形 import java.awt.Color; ...