1.正则表达式
常用来检查,检索,校验或者替换文本
正则表达式支持所有平台
比如说java,php,c#,c,c++等等
元字符
正则表达式语言由两种基本字符组成,原义(正常)文本字符和元字符
不同的元字符代表的含义是不同的,元字符的作用是让正则表达式具有处理文本或者
字符串的能力
常见的元字符:
^ 表示以什么什么开头
$ 表示以什么什么结尾
* 表示0 or more
? 表示0 or 1
+ 表示1 or more
\w 表示字母,数字,下划线,中文任意字符
\d 表示数字
\D 表示非数字
\s 表示字符串
\S 表示非空字符串
[] 组合
[\s\S] 表示任意字符
[\s\S]* 表示组合内部出现0次或者多次
[a-z] 表示区间内任意字符
[0-9] 表示区间内任意数字
\u4e00-\u9fa5 表示中文
| 逻辑或
() 分组
{n,m} 表示最少匹配n次,最多匹配m次
{n,} 最少匹配n次
{n} 匹配n次
[^X] 表示除了X外任意字符
2.常用的正则表达式
/// <summary>
/// 该方法校验手机号码是否正确
/// </summary>
/// <param name="phone">待校验的号码</param>
/// <returns></returns>
public static bool isPhoneNumber(string phone)
{
string pattern = @"^[1][3578][0-9]{9}$";
if (Regex.IsMatch(phone, pattern))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 该方法验证邮箱
/// </summary>
/// <param name="email">待校验的邮箱</param>
/// <returns></returns>
public static bool isEmail(string email)
{
string pattern = @"\w+@\w+(\.\w)+";
if (Regex.IsMatch(email, pattern))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 验证身份证号码
/// </summary>
/// <param name="id">待验证的身份证号码</param>
/// <returns></returns>
public static bool isIDCard(string id)
{
string pattern = @"(^\d{15}$)|(^\d{17}([0-9]|X))";
if (Regex.IsMatch(id,pattern))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 验证qq号
/// </summary>
/// <param name="qq">待验证的qq号 </param>
/// <returns></returns>
public static bool isQQ(string qq)
{
string pattern = @"^[1-9]{1}\d{7,9}$";
if (Regex.IsMatch(qq, pattern))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 验证账号
/// </summary>
/// <param name="number">待验证的账号</param>
/// <returns></returns>
public static bool isAcountNumber(string number)
{
string pattern = @"^[a-zA-z]{1}[a-z0-9A-Z]{7,9}";
if (Regex.IsMatch(number, pattern))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 验证座机号码
/// </summary>
/// <param name="telnumber">待验证座机号码</param>
/// <returns></returns>
public static bool isTelNumber(string telnumber)
{
string pattern = @"^[0-9]{3}(-|[0-9]{1})\d{7}$";
if (Regex.IsMatch(telnumber, pattern))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 验证中文
/// </summary>
/// <param name="chinese">待验证中文</param>
/// <returns></returns>
public static bool isChinese(string chinese)
{
string pattern = @"[\u4e00-\u9fa5]+";
if (Regex.IsMatch(chinese, pattern))
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 验证日期
/// </summary>
/// <param name="date">待验证日期</param>
/// <returns></returns>
public static bool isDate(string date)
{
string pattern = @"[0][13578]|[1][02]月([0][0-9]{1}|[1][0-9]{1}|[2][0-9]{1}|[3][01])日|[0][2469]|[11]月([0][0-9]{1}|[1][0-9]{1}|[2][0-9]{1}|[30])日|[2]月([0][0-9]{1}|[1][0-9]{1}|[2][0-9]{1})日";
if (Regex.IsMatch(date, pattern))
{
return true;
}
else
{
return false;
}
}