ใช้ตรวจสอบเลขที่บัตรประจำตัวประชาชนของประเทศไทยตามสูตรของกระทรวง ฯ
ใช้คู่กะ Customvalidator ตามนี้
ฝั่ง code behind
protected void CheckIDCard(object source, ServerValidateEventArgs args)
{
//args.IsValid = (args.Value.Length >= 8);
int pin = 0;
int j = 13;
int pin_num = 0;
if (args.Value.ToString() == "")
{
args.IsValid = false;
return;
}
bool ChkPinID = true;
if (ChkPinID == false) { args.IsValid = false; return; }
if (args.Value.ToString().Length == 13)
{
for (int i = 0; i < args.Value.Length; i++)
{
if (i != 12)
{
pin = Convert.ToInt16(args.Value.ToString().Substring(i, 1)) * j + pin;
}
j--;
}
pin_num = (11 - (pin % 11)) % 10;
if (Convert.ToInt16(args.Value.ToString().Substring(12, 1)) != pin_num)
{
args.IsValid = false;
return;
}
}
else
{
args.IsValid = false;
return;
}
args.IsValid = true;
return;
}
ฝั่ง webpage
<asp:TextBox ID="txtICard" runat="server" MaxLength="13" Width="100px"></asp:TextBox>
<asp:CustomValidator ID="validIDCard" runat="server" ControlToValidate="txtICard"
ErrorMessage="เลขที่บัตรประชาชนไม่ถูกต้อง" SetFocusOnError="True" ValidateEmptyText="True"
OnServerValidate="CheckIDCard"></asp:CustomValidator>
ref : http://warozz.multiply.com/journal/item/28/28
No comments:
Post a Comment