Archive for October 2006

<script language=”javascript”>
function makearray(n)
{
this.length=n;
for( var i=0; i < n ; i++)
this[i] = 0;
return this;
}

function chkIDcard(){
var xCheck = 0;
var g = 0;
var c = 0;
var totalX = 0;
var sumX = 0;
var x = new makearray(13);
var z=”0″;
var l=”0″;

if(form1.idCard.value.length !=13){
alert(’บัตรผิด ต้อง 13 ตัวเท่านั้น’);
return false;
}else

if ( form1.idCard.value.length > 1 )
{
for (var q=0; q<form1.idCard.value.length; ++q)
{
var codee=form1.idCard.value.charCodeAt(q);
// if (codee>=48 && codee<=57)continue ;
if (codee>=48 && codee<=57)
{
if(codee == 48 )
{ x[q] = 0; }
else if(codee ==49)
{ x[q] = 1; }
else if(codee == 50)
{ x[q] = 2; }
else if(codee == 51)
{ x[q] = 3; }
else if(codee == 52)
{ x[q] = 4; }
else if(codee == 53)
{ x[q] = 5; }
else if(codee == 54)
{ x[q] = 6; }
else if(codee == 55)
{ x[q] = 7; }
else if(codee == 56)
{ x[q] = 8; }
else if(codee == 57)
{ x[q] = 9; }
if (x[0] == 0) {
alert(”เลขบัตรประจำตัวประชาชนไม่ถูกต้อง”);
l=”1″
break;
}
if (x[0] == 9) {
alert(”เลขบัตรประจำตัวประชาชนไม่ถูกต้อง”);
l=”1″
break;
}
xCheck = x[q];
if(q != 12){
totalX = x[q]*(13-q);
sumX = sumX + totalX;
}
continue;
}
else
{
alert(”เลขบัตรประจำตัวประชาชนไม่ถูกต้อง”);
//history.back();
l=”1″
break;
}
}// end for
c = sumX % 11;
if (c==0) g=1;
else if (c==1) g=0;
else g = 11- c;
// if ( xCheck == g )
// { continue; }
if (xCheck != g)
{
alert(”เลขบัตรประจำตัวประชาชนไม่ถูกต้อง”);
l=”1″
}
if (l==”1″){}
else if (l==”0″)
{
if (z==”1″){}
if (z==”0″)
{
//////////////////// ผ่าน ////////////////////////
form1.submit();
}
}
}
}
</script>

<body>
<form name=”form1″ method=”post” action=”javascript:alert(’ok ผ่านคับ’);”>
บัตรประชาชน
<input name=”idCard” type=”text” size=”20″>
<input type=”button” name=”Button” value=”ตรวจ” onClick=”chkIDcard()”>
</form>
</body>

งกโค้ดโปรแกรมกันนัก ตูหาได้แล้ว แจกเลยเฟ้ย ขอบคุณผู้ใจบุญ

ส่วนข้างล่างนี่ก็ใช้งานได้จริง แต่ยังเรียกใช้งานไม่เป็น

<!–
function isNumber(strInput) {
    var digit = “0123456789″;
    var temp;
    for (var i=0; i<strInput.length; i++) {
        temp = strInput.substring(i,i+1);
        if (digit.indexOf(temp) == -1) {
            return false;
        }
    }
    return true;
}

function strTrim(strInput) {
    while(strInput.indexOf(’ ‘) == 0) {
        strInput = strInput.substring(1,strInput.length)
    }
    while(strInput && (strInput.lastIndexOf(’ ‘) == (strInput.length - 1))) {
        strInput = strInput.substring(0,strInput.length-1)
    }
    return strInput;    
}

function isLength(strInput, len) {
    if (strInput.length != len) return false; else return true;
}

function isSpace(strInput) {    
    if (strInput.indexOf(’ ‘) != -1) return true; else return false;    
}

function isDate(date, month, year) {                
    if (date.substring(0,1)==’0′) dd = date.substring(1);    
    if (month.substring(0,1)==’0′) mm = month.substring(1);    

    var dd = parseInt(date);
    var mm = parseInt(month);
    var yyyy = parseInt(year)-543;

    var valid = false;            
    if ((dd >=1 && dd <= 31) && (mm >= 1 && mm <=12) && yyyy > 1857) {
        mm = mm - 1;
        
        var day_0 = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
        var day_1 = new Array(31,28,31,30,31,30,31,31,30,31,30,31);        
        var i = ((yyyy%4 == 0 && yyyy%100 != 0) || yyyy%400 == 0)?0:1;    
        if (i==0) {        
            if (day_0[mm]<dd) valid = false; else valid = true;            
        } else {
            if (day_1[mm]<dd) valid = false; else valid = true;    
        }    
    }
    return valid;
}

function chkDigitTin(tin) {            
    if ((tin.charAt(0) != 1) && (tin.charAt(0) != 2)) {        
        return ‘M003 : เลขประจำตัวผู้เสียภาษีอากร จะต้องขึ้นต้นด้วยเลข 1 หรือ 2 เท่านั้น’;        
    }

    var sum = (tin.charAt(0)*3)+(tin.charAt(1)*1)+(tin.charAt(2)*3)+
                        (tin.charAt(3)*1)+(tin.charAt(4)*3)+(tin.charAt(5)*1)+
                        (tin.charAt(6)*3)+(tin.charAt(7)*1)+(tin.charAt(8 )*3);                
    
    var digit = 0;
    if (sum % 10 != 0) {
        digit = 10 - (sum % 10);
    }
    if (digit != tin.charAt(9)) {
        return ‘M004 : บันทึกเลขประจำตัวผู้เสียภาษีอากรไม่ถูกต้อง โปรดตรวจสอบ’;    
    }
    return ”;
}

function chkDigitPin(pin) {    
    var sum = (pin.charAt(0) * 13)+(pin.charAt(1) * 12)+(pin.charAt(2) * 11)+
                        (pin.charAt(3) * 10)+(pin.charAt(4) * 9)+(pin.charAt(5) * 8 )+
                        (pin.charAt(6) * 7)+(pin.charAt(7) * 6)+(pin.charAt(8 ) * 5)+
                        (pin.charAt(9) * 4)+(pin.charAt(10) * 3)+(pin.charAt(11) * 2);
        
    var digit = sum % 11;
    if (digit == 1) {digit = 0;}
    else if (digit == 0) {digit = 1;}
    else {digit = 11 - digit};
    if (digit != pin.charAt(12)) {
        return ‘M005 : บันทึกเลขประจำตัวประชาชนไม่ถูกต้อง โปรดตรวจสอบ’;        
    }
    return ”;
}

function validForm(form) {    
    var err = ”;
    var flag = ”;

    var tinpin = strTrim(form.tinpin.value);                
    if (tinpin) {
        if ( (! isNumber(tinpin)) || (! isLength(tinpin,10) && ! isLength(tinpin,13)) ) {                        
            err = ‘M002 : เลขประจำตัวประชาชนจะต้องเป็นตัวเลขมีขนาดความยาว 13 หรือ เลขประจำตัวผู้เสียภาษีอากรจะต้องเป็นตัวเลขมีขนาดความยาว 10 เท่านั้น’;            
        } else {
            if (tinpin.length==10) {            
                err = chkDigitTin(tinpin);
                if (tinpin.substring(0,1)==’1′) {
                    flag = ‘T1′;
                } else {
                    flag = ‘T2′;                
                }
            } else if (tinpin.length==13)     {            
                err = chkDigitPin(tinpin);
                flag = ‘P’;
            }
        }
    } else {                
        err = ‘M001 : กรุณาบันทึก เลขประจำตัวประชาชน หรือ เลขประจำตัวผู้เสียภาษีอากร’;    
    }
    
    if (err) {
        alert(err);
        form.tinpin.select();
        return false;    
    }

    var name = strTrim(form.name.value);         
    if (name) {
        if (flag==’T1′ || flag==’P') {
            if (! isSpace(name))
                err = ‘M014 : กรุณาตรวจสอบ ชื่อ-ชื่อสกุล’;        
        }
    } else {
        err = ‘M006 : กรุณาบันทึก ชื่อ-ชื่อสกุล’;
    }
    if (err) {
        alert(err);
        form.name.select();
        return false;
    }

    if (flag==’T1′ || flag==’P') {
        var date = strTrim(form.date.value);            
        if (date) {                    
            if (date.length==2 && date.substring(0,1)==’0′)
                date = date.substring(1);                    
            if ( (! isNumber(date)) || (parseInt(date) > 31) )
                err = ‘M008 : กรุณาตรวจสอบ วันเกิด’;                                
        } else {
            err = ‘M007 : กรุณาบันทึก วันเกิด’;
        }
        if (err) {
            alert(err);
            form.date.select();
            return false;
        }

        var month = strTrim(form.month.value);                    
        if (month) {
            if (month.length==2 && month.substring(0,1)==’0′)
                month = month.substring(1);    
            if ( (! isNumber(month)) || (parseInt(month) > 12) )
                err = ‘M010 : กรุณาตรวจสอบ เดือนเกิด’;                
        } else {
            err = ‘M009 : กรุณาบันทึก เดือนเกิด’;
        }
        if (err) {
            alert(err);
            form.month.select();
            return false;
        }

        var year = strTrim(form.year.value);    
        var curyear = strTrim(form.curyear.value);        
        if (year) {
            if (year == ‘0000′) {            
            } else {
                if ( (! isNumber(year)) || (parseInt(year) < 2400) || (parseInt(year) > parseInt(curyear)) )
                    err = ‘M012 : กรุณาตรวจสอบ ปี (พ.ศ.) เกิด’;                
            }
        } else {
            err = ‘M011 : กรุณาบันทึก ปีเกิด’;
        }
        if (err) {
            alert(err);
            form.year.select();
            return false;
        }

        if (date == ‘0′ && month == ‘0′ && year == ‘0000′) {
        } else {
            if (! isDate(date, month, year)) {
                alert(’M013 : กรุณาตรวจสอบ วัน/เดือน/ปี (พ.ศ.) เกิด’);
                form.date.select();
                return false;
            }
        }
    }    // flag
    
    return true;
}

function validTinPin(obj) {
    var err = ”;
    var flag = ”;

    var    tinpin = strTrim(obj.value);            
    if (tinpin) {
        if ( ! isNumber(tinpin) || (! isLength(tinpin,10) && ! isLength(tinpin,13)) ) {                        
            err = ‘M002 : เลขประจำตัวประชาชนจะต้องเป็นตัวเลขมีขนาดความยาว 13 หรือ เลขประจำตัวผู้เสียภาษีอากรจะต้องเป็นตัวเลขมีขนาดความยาว 10 เท่านั้น’;                            
        } else {
            if (tinpin.length==10) {            
                err = chkDigitTin(tinpin);
                if (tinpin.substring(0,1)==’1′) {
                    flag = ‘T1′;
                } else {
                    flag = ‘T2′;                
                }                
            } else if (tinpin.length==13)     {            
                err = chkDigitPin(tinpin);
                flag = ‘P’;
            }
        }

        if (err) {
            alert(err);
            obj.select();
            return false;    
        } else {
            if (flag==’T1′ || flag==’P') {        
                enableBirthDate();                                        
            } else {                
                clearBirthDate();
                disabledBirthDate();            
            }
        }
    } else {
        clearName();
        clearBirthDate();
        disabledBirthDate();            
    }    // tinpin     
}

function validName(obj) {    
    var    tinpin = strTrim(form1.tinpin.value);                
    if (tinpin) {    
        var flag = ”;
        if (tinpin.length==10) {                        
            if (tinpin.substring(0,1)==’1′) flag = ‘T1′; else flag = ‘T2′;
        } else if (tinpin.length==13) {    
            flag = ‘P’;
        }

        var name = strTrim(obj.value);         
        if (name) {
            if (flag==’T1′ || flag==’P') {    
                if (! isSpace(name)) {
                    err = ‘M014 : กรุณาตรวจสอบ ชื่อ-ชื่อสกุล’;            
                    alert(err);
                    obj.select();
                    return false;
                }
            }
        }    
    } else {        
        clearName();    
        form1.tinpin.focus();
    }
}

function validDate(obj) {
    var date = strTrim(obj.value);            
    if (date) {                    
        if (date.length==2 && date.substring(0,1)==’0′)
            date = date.substring(1);                    
        if ( (! isNumber(date)) || (parseInt(date) > 31) ) {
            err = ‘M008 : กรุณาตรวจสอบ วันเกิด’;                                
            alert(err);
            obj.select();
            return false;
        }
    }
}

function validMonth(obj) {
    var month = strTrim(obj.value);                    
    if (month) {
        if (month.length==2 && month.substring(0,1)==’0′)
            month = month.substring(1);    
        if ( (! isNumber(month)) || (parseInt(month) > 12) ) {
            err = ‘M010 : กรุณาตรวจสอบ เดือนเกิด’;                        
            alert(err);
            obj.select();
            return false;
        }
    }
}

function validYear(obj) {
    var year = strTrim(obj.value);    
    var curyear = strTrim(form1.curyear.value);        
    if (year) {
        if (year == ‘0000′) {            
        } else {
            if ( (! isNumber(year)) || (parseInt(year) < 2400) || (parseInt(year) > parseInt(curyear)) ) {
                err = ‘M012 : กรุณาตรวจสอบ ปี (พ.ศ.) เกิด’;                        
                alert(err);
                obj.select();
                return false;
            }
        }
    }
}

function clearName() {
    form1.name.value = ”;
}

function clearBirthDate() {
    form1.date.value = ”;
    form1.month.value = ”;
    form1.year.value = ”;
}

function clearAll() {
    form1.tinpin.value = ”;
    form1.name.value = ”;
    form1.date.value = ”;
    form1.month.value = ”;
    form1.year.value = ”;
}

function enableBirthDate() {
    form1.date.disabled = false;
    form1.month.disabled = false;
    form1.year.disabled = false;
    chgBDColor(’0′);
}

function disabledBirthDate() {    
    form1.date.disabled = true;
    form1.month.disabled = true;
    form1.year.disabled = true;
    chgBDColor(’1′);
}

function chgBDColor(v) {
    if (v == ‘1′) {
        form1.date.style.backgroundColor=’#eeeeee’;
        form1.month.style.backgroundColor=’#eeeeee’;
        form1.year.style.backgroundColor=’#eeeeee’;
    } else {
        form1.date.style.backgroundColor=’#ffffff’;
        form1.month.style.backgroundColor=’#ffffff’;
        form1.year.style.backgroundColor=’#ffffff’;    
    }
}

function closeForm() {
    clearAll();
    disabledBirthDate();
    window.close();
}

function chkDateLen() {
    var date = strTrim(form1.date.value);                    
    if (date.length==2) {
        form1.month.focus();
    }    
}

function chkMonthLen() {
    var month = strTrim(form1.month.value);                    
    if (month.length==2) {
        form1.year.focus();
    }    
}

function chkYearLen() {
    var year = strTrim(form1.year.value);                    
    if (year.length==4) {
        form1.submit.focus();
    }    
}

function setFocus() {
    form1.tinpin.focus();
}

function confirmCond(errtype) {
    var width = 420;
    var height = 220;
    var left=(screen.width-width)/2;     //200
    var top=60;
    var url = ‘../jsp/FrmPo01Pit_ConfirmMoi.jsp?errtype=’+errtype;
    var props = ‘dialogWidth: ‘+width+’px; dialogHeight: ‘+height+’px; dialogTop: ‘+top+’px; dialogLeft: ‘+left+’px; center: No; help: No; resizable: No; status: No;’;
    var x = window.showModalDialog(url,”",props);
    if (x == 1) {
        return true;
    } else {
        return false;
    }
}
//–>