Wednesday, May 9, 2012

ฟังก์ชั่นตรวจสอบเลขที่บัตรประจำตัวประชาชน

ใช้ตรวจสอบเลขที่บัตรประจำตัวประชาชนของประเทศไทยตามสูตรของกระทรวง ฯ
ใช้คู่กะ 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