跪求身份证验证的代码........ 如题....判断一个身份证号是否正确。... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/t/20050509/18/3992946.html using System;using System.Data;using System.Data.SqlClient;using System.Data.OleDb;using System.Text.RegularExpressions;public class Check{ protected string number; public SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnString"].ToString()); public string Number { get { return number; } set { number = value.Trim(); } } //属性 public Check(string numberValue) //构造函数 { Number = numberValue; } public bool truefalsnumber(string stringValue) //是否为全数字 { string aa = @"^[0-9]+$"; if (!Regex.Match(stringValue, aa).Success) return false; else return true; }}public class sfz : Check //身份证类{ public sfz(string numberValue):base (numberValue) { } public string sfzyear()//返回身份证的年月日信息 { string aa, bb, cc; if (Number .Length ==15 && truefalsnumber(Number.Substring(0,Number.Length - 1))) { aa = Number.Substring(6, 2); bb = Number.Substring(8, 2); cc = Number.Substring(10, 2); if (int.Parse(bb) < 12 && int.Parse(cc) < 31) return "19" + aa + "年" + bb + "月" + cc + "日"; else return "年月日信息有错误!"; } else if (Number .Length == 18 && truefalsnumber(Number.Substring(0,Number.Length - 1))) { aa = Number.Substring(6, 4); bb = Number.Substring(10, 2); cc = Number.Substring(12, 2); if (int.Parse(bb) < 12 && int.Parse(cc) < 31) return aa + "年" + bb + "月" + cc + "日"; else return "年月日信息有错误!"; } else return ""; } public string sfzsex() //返回身份证的性别 { int str; if (Number.Length == 15 && truefalsnumber(Number.Substring(0, Number.Length - 1))) { str = int.Parse(Number.Substring(14, 1)); if ((str % 2) == 0) return "男"; else return "女"; } if (Number.Length == 18 && truefalsnumber(Number.Substring(0,Number.Length - 1))) { str = int.Parse(Number.Substring(17, 1)); if ((str % 2) == 0) return "男"; else return "女"; } return ""; } public string sfzaddress() //返回身份证的地区 { string str; int aa; if (truefalsnumber(Number.Substring(0, Number.Length - 1))) { if (Number.Length == 18 || Number.Length == 15) { str = Number.Substring(0, 6); aa = int.Parse(str); SqlCommand CMD = new SqlCommand("Select DQ From sfz Where BM = @aa", conn); SqlParameter myParm = CMD.Parameters.Add("aa", SqlDbType.Int); myParm.Value = aa; conn.Open(); SqlDataReader myReader = CMD.ExecuteReader(); myReader.Read(); if (myReader.HasRows) return myReader.GetString(0); else return ""; } else return ""; } else return ""; }}public class sjh : Check //手机类{ public sjh(string numberValue) : base(numberValue) { } private string sjquare1() { string aa = Number.Substring(0, 7); SqlCommand CMD = new SqlCommand("Select * From mod Where right(start,1) <= @a1 And " + "right([end],1) >= @a1 And left(start,6) = @a2 And left([end],6) = @a2 And grade = 1", conn); SqlParameter myParm1 = CMD.Parameters.Add("a1", SqlDbType.Char); myParm1.Value = aa.Substring(6, 1); SqlParameter myParm2 = CMD.Parameters.Add("a2", SqlDbType.Char); myParm2.Value = aa.Substring(0, 6); conn.Open(); SqlDataReader myReader = CMD.ExecuteReader(); myReader.Read(); if (myReader.HasRows) return myReader.GetString(2) + " " + myReader.GetString(3) + " " + myReader.GetString(4); else conn.Close(); return ""; } private string sjquare2() { string aa = Number.Substring(0, 7); SqlCommand CMD = new SqlCommand("Select * From mod Where right(start,2) <= @a1 And " + "right([end],2) >= @a1 And left(start,5) = @a2 And left([end],5) = @a2 And grade = 1", conn); SqlParameter myParm1 = CMD.Parameters.Add("a1", SqlDbType.Char); myParm1.Value = aa.Substring(5, 2); SqlParameter myParm2 = CMD.Parameters.Add("a2", SqlDbType.Char); myParm2.Value = aa.Substring(0, 5); conn.Open(); SqlDataReader myReader = CMD.ExecuteReader(); myReader.Read(); if (myReader.HasRows) return myReader.GetString(2) + " " + myReader.GetString(3) + " " + myReader.GetString(4); else conn.Close(); return ""; } private string sjquare3() { string aa = Number.Substring(0, 7); SqlCommand CMD = new SqlCommand("Select * From mod Where right(start,3) <= @a1 And " + "right([end],3) >= @a1 And left(start,4) = @a2 And left([end],4) = @a2 And grade = 1", conn); SqlParameter myParm1 = CMD.Parameters.Add("a1", SqlDbType.Char); myParm1.Value = aa.Substring(4, 3); SqlParameter myParm2 = CMD.Parameters.Add("a2", SqlDbType.Char); myParm2.Value = aa.Substring(0, 4); conn.Open(); SqlDataReader myReader = CMD.ExecuteReader(); myReader.Read(); if (myReader.HasRows) return myReader.GetString(2) + " " + myReader.GetString(3) + " " + myReader.GetString(4); else conn.Close(); return ""; } private string sjquare4() { string aa = Number.Substring(0, 7); SqlCommand CMD = new SqlCommand("Select * From mod Where start <= @a1 And " + "[end] >= @a1 And grade = 1", conn); SqlParameter myParm1 = CMD.Parameters.Add("a1", SqlDbType.Char); myParm1.Value = aa; conn.Open(); SqlDataReader myReader = CMD.ExecuteReader(); myReader.Read(); if (myReader.HasRows) return myReader.GetString(2) + " " + myReader.GetString(3) + " " + myReader.GetString(4); else conn.Close(); return ""; } public string sjhaddress() //返回手机号地区 { if (Number.Length == 11 && truefalsnumber(Number.Substring(0, Number.Length))) { string s = sjquare1(); if (s.Trim() != "") return s; s = sjquare2(); if (s.Trim() != "") return s; s = sjquare3(); if (s.Trim() != "") return s; s = sjquare4(); if (s.Trim() != "") return s; return ""; } else { return ""; } }}public class Ip : Check //IP类{ public Ip(string numberVale) : base(numberVale) { } public string ipaddress() //根据IP返回物理地址 { string fip = ""; string[] split = Number.Split(new Char[] { '.' }); foreach (string s in split) { fip += s; } return fip; }} MessageDlg 出现的 确定 按钮 怎么自动点击? MapWinGis组件的使用? 出现list index out of bounds(0)? 5个简单问题,1个20分,谢谢大家帮忙 关于com的问题 如何使dbgrid中的不同行显示不同的颜色? 如何修改表中字段的属性 小问题 quick report做的报表在winnt和win2000上打印有问题 how to use sql??? 如何得到系统当前输入框的句柄? idudpserver接收数据时会丢失一些数据包怎么办?
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Text.RegularExpressions;public class Check
{
protected string number;
public SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnString"].ToString()); public string Number
{
get
{
return number;
}
set
{
number = value.Trim();
}
} //属性 public Check(string numberValue) //构造函数
{
Number = numberValue;
} public bool truefalsnumber(string stringValue) //是否为全数字
{
string aa = @"^[0-9]+$";
if (!Regex.Match(stringValue, aa).Success) return false;
else return true;
}
}public class sfz : Check //身份证类
{
public sfz(string numberValue):base (numberValue)
{
} public string sfzyear()//返回身份证的年月日信息
{
string aa, bb, cc; if (Number .Length ==15 && truefalsnumber(Number.Substring(0,Number.Length - 1)))
{
aa = Number.Substring(6, 2);
bb = Number.Substring(8, 2);
cc = Number.Substring(10, 2); if (int.Parse(bb) < 12 && int.Parse(cc) < 31)
return "19" + aa + "年" + bb + "月" + cc + "日";
else
return "年月日信息有错误!";
}
else if (Number .Length == 18 && truefalsnumber(Number.Substring(0,Number.Length - 1)))
{
aa = Number.Substring(6, 4);
bb = Number.Substring(10, 2);
cc = Number.Substring(12, 2);
if (int.Parse(bb) < 12 && int.Parse(cc) < 31)
return aa + "年" + bb + "月" + cc + "日";
else
return "年月日信息有错误!";
}
else return "";
} public string sfzsex() //返回身份证的性别
{
int str;
if (Number.Length == 15 && truefalsnumber(Number.Substring(0, Number.Length - 1)))
{
str = int.Parse(Number.Substring(14, 1)); if ((str % 2) == 0) return "男";
else return "女";
} if (Number.Length == 18 && truefalsnumber(Number.Substring(0,Number.Length - 1)))
{
str = int.Parse(Number.Substring(17, 1)); if ((str % 2) == 0) return "男";
else return "女";
}
return "";
} public string sfzaddress() //返回身份证的地区
{
string str;
int aa;
if (truefalsnumber(Number.Substring(0, Number.Length - 1)))
{ if (Number.Length == 18 || Number.Length == 15)
{
str = Number.Substring(0, 6);
aa = int.Parse(str);
SqlCommand CMD = new SqlCommand("Select DQ From sfz Where BM = @aa", conn);
SqlParameter myParm = CMD.Parameters.Add("aa", SqlDbType.Int);
myParm.Value = aa;
conn.Open();
SqlDataReader myReader = CMD.ExecuteReader();
myReader.Read();
if (myReader.HasRows)
return myReader.GetString(0);
else
return "";
}
else return "";
}
else return "";
}
}public class sjh : Check //手机类
{ public sjh(string numberValue)
: base(numberValue)
{
} private string sjquare1()
{
string aa = Number.Substring(0, 7);
SqlCommand CMD = new SqlCommand("Select * From mod Where right(start,1) <= @a1 And " +
"right([end],1) >= @a1 And left(start,6) = @a2 And left([end],6) = @a2 And grade = 1", conn); SqlParameter myParm1 = CMD.Parameters.Add("a1", SqlDbType.Char);
myParm1.Value = aa.Substring(6, 1);
SqlParameter myParm2 = CMD.Parameters.Add("a2", SqlDbType.Char);
myParm2.Value = aa.Substring(0, 6);
conn.Open(); SqlDataReader myReader = CMD.ExecuteReader();
myReader.Read();
if (myReader.HasRows)
return myReader.GetString(2) + " " + myReader.GetString(3) + " " + myReader.GetString(4);
else
conn.Close();
return "";
} private string sjquare2()
{
string aa = Number.Substring(0, 7);
SqlCommand CMD = new SqlCommand("Select * From mod Where right(start,2) <= @a1 And " +
"right([end],2) >= @a1 And left(start,5) = @a2 And left([end],5) = @a2 And grade = 1", conn); SqlParameter myParm1 = CMD.Parameters.Add("a1", SqlDbType.Char);
myParm1.Value = aa.Substring(5, 2);
SqlParameter myParm2 = CMD.Parameters.Add("a2", SqlDbType.Char);
myParm2.Value = aa.Substring(0, 5);
conn.Open(); SqlDataReader myReader = CMD.ExecuteReader();
myReader.Read();
if (myReader.HasRows)
return myReader.GetString(2) + " " + myReader.GetString(3) + " " + myReader.GetString(4);
else
conn.Close();
return "";
} private string sjquare3()
{
string aa = Number.Substring(0, 7);
SqlCommand CMD = new SqlCommand("Select * From mod Where right(start,3) <= @a1 And " +
"right([end],3) >= @a1 And left(start,4) = @a2 And left([end],4) = @a2 And grade = 1", conn); SqlParameter myParm1 = CMD.Parameters.Add("a1", SqlDbType.Char);
myParm1.Value = aa.Substring(4, 3);
SqlParameter myParm2 = CMD.Parameters.Add("a2", SqlDbType.Char);
myParm2.Value = aa.Substring(0, 4);
conn.Open(); SqlDataReader myReader = CMD.ExecuteReader();
myReader.Read();
if (myReader.HasRows)
return myReader.GetString(2) + " " + myReader.GetString(3) + " " + myReader.GetString(4);
else
conn.Close();
return "";
} private string sjquare4()
{
string aa = Number.Substring(0, 7);
SqlCommand CMD = new SqlCommand("Select * From mod Where start <= @a1 And " +
"[end] >= @a1 And grade = 1", conn); SqlParameter myParm1 = CMD.Parameters.Add("a1", SqlDbType.Char);
myParm1.Value = aa;
conn.Open(); SqlDataReader myReader = CMD.ExecuteReader();
myReader.Read();
if (myReader.HasRows)
return myReader.GetString(2) + " " + myReader.GetString(3) + " " + myReader.GetString(4);
else
conn.Close();
return "";
} public string sjhaddress() //返回手机号地区
{
if (Number.Length == 11 && truefalsnumber(Number.Substring(0, Number.Length)))
{
string s = sjquare1();
if (s.Trim() != "") return s; s = sjquare2();
if (s.Trim() != "") return s; s = sjquare3();
if (s.Trim() != "") return s; s = sjquare4();
if (s.Trim() != "") return s; return "";
}
else
{
return "";
}
}
}public class Ip : Check //IP类
{
public Ip(string numberVale)
: base(numberVale)
{
} public string ipaddress() //根据IP返回物理地址
{
string fip = "";
string[] split = Number.Split(new Char[] { '.' });
foreach (string s in split)
{
fip += s;
}
return fip;
}
}