using System;
using System.Linq;
using System.Text.RegularExpressions;
namespace Shared
{
public class CommonUtlis
{
#region ■ 变量声明___________________________
///
/// 通用方法
///
private static CommonUtlis m_Current = null;
///
/// 通用方法
///
public static CommonUtlis Current {
get {
if (m_Current == null) {
m_Current = new CommonUtlis ();
}
return m_Current;
}
}
#endregion
#region ■ 各种正确检测_______________________
///
/// 用于中国大陆验证手机号正则表达式
///
public static string PhoneRegexStr = "^[1][0-9]{10}$";
///
/// 用于验证非中国大陆手机号正则表达式
///
public static string PhoneForForeignRegexStr = "^[0-9]*$";
///
/// 用于验证邮箱正则表达式
///
public static string EmailRegexStr = "^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})\\s*$";
///
/// 用于密码强度正则表达式
/// 密码必须为8-20个字符,包含字母、数字和符号
///
public static string PasswordRegexStr = "^(?![0-9]+$)(?![a-zA-Z]+$)(?![0-9a-zA-Z]+$)(?![0-9\\W]+$)(?![a-zA-Z\\W]+$)[0-9A-Za-z\\W]{8,20}$";
///
/// 判断是否包含大写字母
///
/// true, if contain upper was checked, false otherwise.
/// Value.
public bool CheckContainUpper (string value)
{
Regex reg = new Regex ("[A-Z]+");
return reg.IsMatch (value);
}
///
/// 判断是否包含小写字母
///
/// true, if contain lower was checked, false otherwise.
/// Value.
public bool CheckContainLower (string value)
{
Regex reg = new Regex ("[a-z]+");
return reg.IsMatch (value);
}
///
/// 判断是否包含数字
///
/// true, if contain lower was checked, false otherwise.
/// Value.
public bool CheckContainNum (string value)
{
Regex reg = new Regex ("[0-9]+");
return reg.IsMatch (value);
}
///
/// 判断是否包含符号
///
/// true, if contain lower was checked, false otherwise.
/// Value.
public bool CheckContainSymbol (string value)
{
Regex reg = new Regex ("([^a-z0-9A-Z])+");
return reg.IsMatch (value);
}
///
/// 检测邮箱是否合法
///
///
///
public bool CheckEmail (string email)
{
Regex reg = new Regex (EmailRegexStr);
return reg.IsMatch (email);
}
///
/// 检测手机号是否合法
///
/// 手机号
/// 地区代码
///
public bool CheckPhoneNumber (string phoneNumber, string areaCode)
{
//校验外国手机号
if (areaCode != "86") {
Regex reg = new Regex (PhoneForForeignRegexStr);
return reg.IsMatch (phoneNumber);
}
//校验国内手机号
if (phoneNumber.Length > 11) {
return false;
} else if (phoneNumber.Length == 11) {
Regex reg = new Regex (PhoneRegexStr);
return reg.IsMatch (phoneNumber);
} else {
//正则表达式判断是否数字
Regex reg = new Regex ("^[0-9]*$");
return reg.IsMatch (phoneNumber);
}
}
///
/// 检测密码是否合法
///
///
///
public bool CheckPassword (string password)
{
Regex reg = new Regex (PasswordRegexStr);
return reg.IsMatch (password);
}
#endregion
}
}