<script language="javascript">
function checkID(id)
{
if(id.length != 13) return false;
for(i=0, sum=0; i < 12; i )
sum = parseFloat(id.charAt(i))*(13-i); if((11-sum)!=parseFloat(id.charAt(12)))
return false; return true;}
function checkIDcard()
{ if(!checkID(document.frmMembers.idcard.value))
alert('รหัสประชาชนไม่ถูกต้อง');
else alert('รหัสประชาชนถูกต้อง เชิญผ่านได้');}
</script>
<p><label>หมายเลขบัตรประจำตัวประชาชน</label> <input type="text" name="idcard" maxlength='13' class="input" onKeyup="JavaScript:return checkIDcard();" > </p>
ปัญหา จาวามันขึ้นออกมาตั้งแต่พิมพ์เลขตั้งแรก ผมต้องให้ตรวจสอบหลังจากพิมพ์ครบ 13 ตัวแล้วนะครับ
ขอบคุณครับ
ตรงนี้หรือเปล่าครับ พอดีไม่ค่อยสันทัดจาวาครับ แต่ expression น่าจะคล้ายๆ ตัวอื่น
for(i=0, sum=0; i < 12; i )
น่าจะเป็น
sum=0;
for (i=0; i<=12; i++)
หรือเปล่าครับ
เพราะใช้ onKeyup ไงครับ มันเลยเด้งมาตั้งแต่พิมพ์