4个回答
2013-06-18
展开全部
// 正则表达式检查 身份证号码.
//
string cradPat = @"^\d{17}(\d|X|x)$";
string[] cardValueArray = {
"11010519491231002X",
"110105194912310011",
"11010519491231001C",
"1101051949123100112",
"1101051949 2310011",
"1101051949X2310011",
"11010519491231001"};
foreach (string cardValue in cardValueArray)
{
Console.WriteLine("[04]使用正则表达式静态方法IsMatch({0}, {1})的结果为:{2}", cardValue, cradPat, Regex.IsMatch(cardValue, cradPat));
}
[04]使用正则表达式静态方法IsMatch(11010519491231002X, ^\d{17}(\d|X|x)$)的结果为:True
[04]使用正则表达式静态方法IsMatch(110105194912310011, ^\d{17}(\d|X|x)$)的结果为:True
[04]使用正则表达式静态方法IsMatch(11010519491231001C, ^\d{17}(\d|X|x)$)的结果为:False
[04]使用正则表达式静态方法IsMatch(1101051949123100112, ^\d{17}(\d|X|x)$)的结果为:False
[04]使用正则表达式静态方法IsMatch(1101051949 2310011, ^\d{17}(\d|X|x)$)的结果为:False
[04]使用正则表达式静态方法IsMatch(1101051949X2310011, ^\d{17}(\d|X|x)$)的结果为:False
[04]使用正则表达式静态方法IsMatch(11010519491231001, ^\d{17}(\d|X|x)$)的结果为:False
展开全部
private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
if (Isshenfenzheng(textBox2.Text.Trim()) == true)
{
// MessageBox.Show("OK");
if (textBox2.Text.Trim().Length <= 18)
{
MessageBox.Show("OK");
}
else
{
MessageBox.Show("长度必须等于18");
}
}
else
{
MessageBox.Show("NG");
}
}
}
protected bool Isshenfenzheng(string sfz)
{
return System.Text.RegularExpressions.Regex.IsMatch(sfz, @"^(\d{17}[\d|X])");
}
{
if (e.KeyChar == 13)
{
if (Isshenfenzheng(textBox2.Text.Trim()) == true)
{
// MessageBox.Show("OK");
if (textBox2.Text.Trim().Length <= 18)
{
MessageBox.Show("OK");
}
else
{
MessageBox.Show("长度必须等于18");
}
}
else
{
MessageBox.Show("NG");
}
}
}
protected bool Isshenfenzheng(string sfz)
{
return System.Text.RegularExpressions.Regex.IsMatch(sfz, @"^(\d{17}[\d|X])");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
[0-9]{6}(19|20)[0-9]{2}[0|1][0-9][0-3][0-9]{4}[0-9|x|X]
这个是身份证编号的简单正则匹配方式(1900-2099年出生的身份证编号 如有需要针对修改)
可以进一步根据身份证号码最后一位的验证码,做有效性判断。判断方法如下:
将身份证的前17位依次对应下列数据相乘后求和:
7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2
将求和的的结果除以11求余数,余数
0-1-2-3-4-5-6-7-8-9-10 对应验证码:
1-0-X -9-8-7-6-5-4-3-2
如果计算获取的验证码和身份证最后一位相同,则有效!
这个是身份证编号的简单正则匹配方式(1900-2099年出生的身份证编号 如有需要针对修改)
可以进一步根据身份证号码最后一位的验证码,做有效性判断。判断方法如下:
将身份证的前17位依次对应下列数据相乘后求和:
7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2
将求和的的结果除以11求余数,余数
0-1-2-3-4-5-6-7-8-9-10 对应验证码:
1-0-X -9-8-7-6-5-4-3-2
如果计算获取的验证码和身份证最后一位相同,则有效!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最简单的验证身份证验证\d{17}[\dXx]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询