ผมต้องการเช็คบัตรประชาชน 13 หลัก จะเขียนเช็คงัยคับ

คือต้องการจะเช็คว่าที่กรอกครบ 13 หลักหรือมั้ย จะเช็คงัยคับ



  function card(obj){ 

         var pattern=new String("_-____-_____-__-"); // กำหนดรูปแบบในนี้ 

         var pattern_ex=new String("-"); // กำหนดสัญลักษณ์หรือเครื่องหมายที่ใช้แบ่งในนี้ 

         var returnText=new String(""); 

        var obj_l=obj.value.length; 

         var obj_l2=obj_l-1; 

         for(i=0;i<pattern.length;i++){            

             if(obj_l2==i && pattern.charAt(i+1)==pattern_ex){ 

                 returnText+=obj.value+pattern_ex; 

                 obj.value=returnText; 

             } 

         } 

         if(obj_l>
=pattern.length){ 

             obj.value=obj.value.substr(0,pattern.length);            

         }

  if ((event.keyCode<48 ) ||  (event.keyCode>57)){

   event.returnValue = false;

   alert('กรุณากรอกเป็นตัวเลขเท่านั้น');}

 }
02 ก.ย. 2553 6 1,629

ที่ผมเคยทำก็คือ



1.ให้ text รับข้อมูลเป็นตัวเลขอย่างเดียว

2.จำกัดให้รับข้อมูลได้แค่ 13 หลัก (maxlength=13)
#1


    อยากให้ alert('กรุณากรอกข้อมูลให้ครอบ 13 หลัก');

    

    ในการแจ้งเตือน                    อยากได้มากๆๆๆเลยคับผม


#2


    var idCard = "1-1234-85467-13-1";

    var match = /([1-9]{1})-([1-9]{4})-([1-9]{5})-([1-9]{2})-([1-9]{1})/.test(idCard);

    alert(match);



     



ลองเอานี้ไปเช็คก่อน submit() ดูครับถ้าเป็น true ก็ submit() ไปได้เลย

#3

ตามคำตอบที่ 3 หรือ



if(idcard.value.length != 13){

alert('กรอกให้ครบ 13 หลักด้วย เด้อ ?');

}
#4

เคยเห็นอยู่เหมือนกันใช้ regular expression ไปเช็ค แถมมี logic ในการคิดด้วย ว่า 13 หลักที่ให้มาเนี่ยมั่วไหม ถ้ามั่วไม่ให้ผ่านด้วยนะ พอดีไม่เคยใช้แต่เห็นหลายที่เหมือนกัน หลักการคล้ายๆกัน :D



ป.ล. ไม่รู้เอา link เว็บอื่นมาลงได้ไหม แต่ก็ประมาณนี้ล่ะ

#5

ยังไม่เข้าใจเหมือนเดิมคับ ช่วยอธิบายหน่อยคับผม พอดีอาจารย์ให้ทำนะคับ ก็เลยต้องการมากๆๆๆๆ



ช่วยเขียนให้หน่อยนะคับ

#6
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^