class VilControl
{
/// <summary>
/// 判斷是否被未空
/// </summary>
/// <returns>為空白返回false</returns>
public static bool IsNull(string syllable)
{
if (syllable.Trim() == "") //判斷是否為空白輸入
{
return false;
}
return true;
}
/// <summary>
/// 驗證字串是否合法
/// </summary>
/// <param name="syllable">需驗證字串</param>
/// <param name="regex">Regex</param>
/// <returns></returns>
private static bool RegexOperation(string syllable, string regex)
{
//Regex的枚舉類型
System.Text.RegularExpressions.RegexOptions options = (
(System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace |
System.Text.RegularExpressions.RegexOptions.Multiline) |
System.Text.RegularExpressions.RegexOptions.IgnoreCase);
//載入Regex到枚舉類型上
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regex, options);
//返回驗證結果
return reg.IsMatch(syllable);
}
/// <summary>
/// 判斷密碼是否超出長度(6~16)
/// </summary>
/// <returns>超長返回false</returns>
public static bool IsLong(string syllable)
{
if (!IsNull(syllable)) //判斷是否為空白輸入
{
return false;
}
bool problem = true;
if (syllable.Length > 16 || syllable.Length < 6) //判斷是否符合密碼位元
{
return problem = false;
}
return problem;
}
/// <summary>
/// 年齡(長度/整數)(1~110)
/// </summary>
/// <returns>不正確返回false</returns>
public static bool IsAge(string syllable)
{
if (!IsNull(syllable)) //判斷是否為空白輸入
{
return false;
}
if ((Convert.ToInt32(syllable) > 110 || Convert.ToInt32(syllable) < 1))//判斷長度
{
return false;
}
string regex = "^[0-9]{1,}$"; //判斷為數字
return RegexOperation(syllable, regex);
}
/// <summary>
/// 是否符合電話號碼的要求(3-8,4-7,11)
/// </summary>
/// <returns>不符合返回false</returns>
public static bool IsPhone(string syllable)
{
//判斷是否為空白輸入
if (!IsNull(syllable))
{
return false;
}
//Regex
string regex = @"\d{3}-\d{8}|\d{4}-\d{7}|\d{11}";
//返回驗證結果
return RegexOperation(syllable, regex);
}
/// <summary>
/// 是否符合日期的要求(2002-02-02)
/// </summary>
/// <returns>不符合返回false</returns>
public static bool IsDay(string syllable)
{
//判斷是否為空白輸入
if (!IsNull(syllable))
{
return false;
}
//Regex
string regex = @"^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$";
//返回驗證結果
return RegexOperation(syllable, regex);
}
/// <summary>
/// 是否符合電子郵件的要求
/// </summary>
/// <returns>不符合返回false</returns>
public static bool IsE_Mail(string syllable)
{
//判斷是否為空白輸入
if (!IsNull(syllable))
{
return false;
}
//Regex
string regex = @"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
//返回驗證結果
return RegexOperation(syllable, regex);
}
/// <summary>
/// 由數字和26個英文字母或者底線組成的字串
/// </summary>
/// <param name="strVerify"></param>
/// <returns></returns>
public static bool StrVerify(string syllable)
{
//判斷是否為空白輸入
if (!IsNull(syllable))
{
return false;
}
string regex = @"^\w+$";
return RegexOperation(syllable, regex);
}
/// <summary>
/// 只能輸入有1~3位小數的正實數
/// </summary>
/// <param name="strVerify"></param>
/// <returns></returns>
public static bool NumDec(string syllable)
{
//判斷是否為空白輸入
if (!IsNull(syllable))
{
return false;
}
//Regex
string regex = @"^[0-9]+(.[0-9]{1,3})?$";
//返回驗證結果
return RegexOperation(syllable, regex);
}
/// <summary>
/// 以字母開頭,長度在6到18,只能包含字元、數字和底線
/// </summary>
/// <param name="strVerify"></param>
/// <returns></returns>
public static bool StrVerifyStart(string syllable)
{
//判斷是否為空白輸入
if (!IsNull(syllable))
{
return false;
}
//Regex
string regex = @"^[a-zA-Z]\w{5,17}$";
//返回驗證結果
return RegexOperation(syllable, regex);
}
}