static void Main(string[] args)
{
string str = "320922198809212736";
var result1 = Regex.IsMatch(str, @"^[1-9]\d{14}$");//15位身份证
var result2 = Regex.IsMatch(str, @"^[1-9]\d{14}\d{2}[0-9x]$");//18位身份证
var result3 = Regex.IsMatch(str, @"^[1-9]\d{14}(\d{2}[0-9x])?$");//15或者18位身份证,使用()对多个字符组进行分组
var result4 = Regex.IsMatch(str, @"^([1-9]\d{14}|[1-9]\d{14}\d{2}[0-9x])$");//15或者18位身份证,使用(|)形成多选结构
Console.WriteLine(result4);
Console.ReadKey();
}
来源:https://www.cnblogs.com/lmfeng/p/3342601.html