急,身份证判断问题??

sunboyyun 2009-03-27 04:41:19
protected void CVIdCard_ServerValidate(object source, ServerValidateEventArgs args)
{
if (BirthDate(args.Value) == DateTime.MinValue)
{
args.IsValid = false;
CVIdCard.ErrorMessage = "有误!";
}

}

这是一个从文本框输入近来的身份证号码的判断,我想如果身份证没有,即从文本框接收的为空,或文本框接收的不是数字而是汉字"无"该怎么加条件判断啊??望指教~~
...全文
175 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
feifeiyiwen 2009-03-27
  • 打赏
  • 举报
回复
6楼方法可行
「已注销」 2009-03-27
  • 打赏
  • 举报
回复
textbox.text="待判定的身份證號";
string strGet=textbox1.text.ToString();
if(textbox1.text=="")
{
MessageBox.Show("文本框為空,請輸入身份證號!")
}
for(int i=0;i<strGet.Length;i++)
{
if(strGet[i]<'0' ||strGet[i]>'9')
{
MessageBox.Show("文本框中有非法字符,請重新輸入身份證號!")
textbox1.text="";
}
}
onekey 2009-03-27
  • 打赏
  • 举报
回复
身份证验证函数:


function CheckIDCard(StrNumber)
...{
//判断身份证号码格式函数
//公民身份号码是特征组合码,
//排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码

//身份证号码长度判断
if(StrNumber.length<15||StrNumber.length==16||StrNumber.length==17||StrNumber.length>18)
...{
CheckIDCard =false;
}

//身份证号码最后一位可能是超过100岁老年人的X
//所以排除掉最后一位数字进行数字格式测试
//全部换算成17位数字格式

var Ai;
if(StrNumber.length==18)
...{
Ai = StrNumber.substring(0,17);
}
else
...{
Ai =StrNumber.substring(0,6)+"19"+StrNumber.substring(6,9);
}

if(IsNumeric(Ai)==false)
...{
return false;
}

var strYear,strMonth,strDay,strBirthDay;
strYear = parseInt(Ai.substring(Ai,6,4));
strMonth = parseInt(Ai.substring(Ai,10,2)) ;
strDay = parseInt(Ai.substring(Ai,12,2));

if (IsValidDate(strYear,strMonth,strDay)==false)
...{
return false;
}

var arrVerifyCode = new Array("1","0","x","9","8","7","6","5","4","3","2");
var Wi = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);

var i,TotalmulAiWi=0;
for (i=0; loop<16;loop++)
...{
TotalmulAiWi = TotalmulAiWi + parseInt(Ai.substring(i+1,1)) * Wi[i];
}

var modValue =TotalmulAiWi%11 ;
var strVerifyCode = arrVerifyCode[modValue];

Ai = Ai & strVerifyCode;

if((StrNumber.length== 18)&&(StrNumber!=Ai))
...{
return false;
}

}

function IsNumeric(oNum)
...{
if(!oNum) return false;
var strP=/^d+(.d+)?$/;
if(!strP.test(oNum)) return false;
try...{
if(parseFloat(oNum)!=oNum) return false;
}
catch(ex)
...{
return false;
}
return true;
}

function IsValidDate(psYear, psMonth, psDay)
...{
if(psYear==null || psMonth==null || psDay==null)
...{
return false;
}

var sYear = new String(psYear);
var sMonth = new String(psMonth);
var sDay = new String(psDay);

if(IsValidYear(sYear)==false)
...{
return false;
}

if(IsValidMonth(sMonth)==false)
...{
return false;
}

if(IsValidDay(sDay)==false)
...{
return false;
}

var nYear = parseInt(sYear, 10);
var nMonth = parseInt(sMonth, 10);
var nDay = parseInt(sDay, 10);

if(sYear=="" && sMonth=="" && sDay=="")
...{
return true;
}

if(sYear=="" || sMonth=="" || sDay=="")
...{
return false;
}

if(nMonth < 1 || 12 < nMonth)
...{
return false;
}
if(nDay < 1 || 31 < nDay)
...{
return false;
}

if(nMonth == 2)
...{
if((nYear % 400 == 0) || (nYear % 4 == 0) && (nYear % 100 != 0))
...{
if((nDay < 1) || (nDay > 29))
...{
return false;
}
}
else
...{
if((nDay < 1) || (nDay > 28))
...{
return false;
}
}
}
else if((nMonth == 1) ||
(nMonth == 3) ||
(nMonth == 5) ||
(nMonth == 7) ||
(nMonth == 8) ||
(nMonth == 10) ||
(nMonth == 12))
...{
if((nDay < 1) || (31 < nDay))
...{
return false;
}
}
else
...{
if((nDay < 1) || (30 < nDay))
...{
return false;
}
}

return true;
}
哈哈潜伏哥 2009-03-27
  • 打赏
  • 举报
回复
先获取输入的字符串的长度啊,如果长度为零的话,则取消掉。
test_111111 2009-03-27
  • 打赏
  • 举报
回复
good
cppfaq 2009-03-27
  • 打赏
  • 举报
回复
 protected void CVIdCard_ServerValidate(object source, ServerValidateEventArgs args)
{
if (string.IsNullOrEmpty(args.Value))
{
CVIdCard.ErrorMessage = "无!";
return;
}
if (BirthDate(args.Value) == DateTime.MinValue)
{
args.IsValid = false;
CVIdCard.ErrorMessage = "有误!";
}

}
cppfaq 2009-03-27
  • 打赏
  • 举报
回复
protected void CVIdCard_ServerValidate(object source, ServerValidateEventArgs args)
{
if (string.IsNullOrEmpty(args.Value))
{
CVIdCard.ErrorMessage = "无!";
}
if (BirthDate(args.Value) == DateTime.MinValue)
{
args.IsValid = false;
CVIdCard.ErrorMessage = "有误!";
}

}

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧