<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;
}
}
//–>