Regular Expression,简称 Regex,是一种用于匹配和处理文本的强大工具。它通过定义特定的模式,可以用来搜索、替换或提取字符串中的特定内容。
先引入命名空间
using System.Text.RegularExpressions;
Intege(整数)
必须是正整数
//必须是正整数
public static bool IsPositiveInteger(string txt)
{
Regex objReg = new Regex(@"^[1-9]\d*$");
return objReg.IsMatch(txt);
}
正整数和零
public static bool IsPositiveIntegerAndZero(string txt)
{
Regex objReg = new Regex(@"^[1-9]\d*|0$");
return objReg.IsMatch(txt);
}
负整数
public static bool IsNegativeInteger(string txt)
{
Regex objReg = new Regex(@"^-[1-9]\d*$");
return objReg.IsMatch(txt);
}
正负均可
public static bool IsInteger(string txt)
{
Regex objReg = new Regex(@"^-?[1-9]\d*$");
return objReg.IsMatch(txt);
}
Decimal(小数)
正数
public static bool IsPositiveDecimal(string txt)
{
Regex objReg = new Regex(@"^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$");
return objReg.IsMatch(txt);
}
负数
public static bool IsNegativeDecimal(string txt)
{
Regex objReg = new Regex(@"^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$");
return objReg.IsMatch(txt);
}
正负均可
public static bool IsDecimal(string txt)
{
Regex objReg = new Regex(@"^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$");
return objReg.IsMatch(txt);
}
其他验证
邮箱
public static bool IsEmail(string txt)
{
Regex objReg = new Regex(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
return objReg.IsMatch(txt);
}
身份证
public static bool IsIdentityCard(string txt)
{
Regex objReg = new Regex(@"^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$");
return objReg.IsMatch(txt);
}
邮箱编码
public static bool IsPostalCode(string txt)
{
if (txt.Length != 6) return false;
Regex objReg = new Regex(@"[1-9]\d{5}(?!\d)");
return objReg.IsMatch(txt);
}