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

usericon
Posted By

คือต้องการจะเช็คว่าที่กรอกครบ 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('กรุณากรอกเป็นตัวเลขเท่านั้น');}
 }

6 ความคิดเห็น

usericon
Goragod 1

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

1.ให้ text รับข้อมูลเป็นตัวเลขอย่างเดียว
2.จำกัดให้รับข้อมูลได้แค่ 13 หลัก (maxlength=13)
usericon
แม็คกี้ 2

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

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

usericon
Penthai [PHP] 3

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() ไปได้เลย
usericon
Goragod 4

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

if(idcard.value.length != 13){
alert('กรอกให้ครบ 13 หลักด้วย เด้อ ?');
}
usericon
แขม่ว 5

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

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

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

ช่วยเขียนให้หน่อยนะคับ
ร่วมแสดงความคิดเห็น

รูปภาพอัปโหลด ขนาด “500 Kb.” ชนิด “jpg” เท่านั้น

antispam