��ҹ��Ǣ�͡�͹˹�� :: ��ҹ��Ǣ�ͶѴ� |
����� |
��ͤ��� |
ryuozero Site Admin
�������: 13 Jul 2005 �ͺ: 1145
|
�ͺ�����: Thu Feb 24, 2011 12:30 am ����ͧ: Code ��Ǩ�ͺ�Ţ�ѵû�ЪҪ� |
|
|
�Ҵ��Ը��� ��� "���������ʻ�ЪҪ�������?"
�������������Ẻ��ʴ�ú�ҧ�������Ѻ ��͹��ҹ���������� ���͹��ʹ� ��ʹٷ�������� "�������"
���ʻ�Шӵ�ǻ�ЪҪ� (�����¡������� ���ʻ�ЪҪ�) �����Ҩ��ҵ�Ǩ�ѹ�ѹ��������ʻ�ЪҪ� �ͧ���¹Ф�Ѻ
��͹��� ������͹� ��Ժ�ѵû�ЪҪ��ͧ���͹� ����Ҵ١ѹ��¤�Ѻ
���ʻ�Шӵ�Ǣͧ��Ҩ�������ٻ x-xxxx-xxxxx-xx-x (�Ţ 13 ��ѡ) �����¤�Ѻ �����͹� �������� ��ԧ����� ����
��Шӵ�Ǣͧ������� ��ԧ� �������� 12 ��ѡ��ҹ�� (12 ��ѡ�á) ���Ţ����ش�������� �� Check Digit ��Ѻ
Check Digit �������˹�?
Check Digit �繵���Ţ 1 ��ѡ ����Դ�ҡ��ù��Ţ��ѡ���� �� �ǡ ź �ٳ ��� �ѹ ��� Check Digit ������
��Ѻ �Ъ��������ҵ�Ǩ�ͺ����ͧ������� �����ŷ���͡�Ҷ١��ͧ������
������Ҩе�Ǩ�ͺ��Ң����ŷ���͡�Ҷ١��ͧ������ ��ҨФӹdz Check Digit �ҡ�Ţ��ѡ���� �������º��º
�Ѻ Check Digit ����ҡ�͡����ҵç�ѹ���� ��ҵç�ѹ���ʴ���Ң����Ŷ١��ͧ���Դ ������� �������ç�ѹ �������
�����ŷ���͡���բ����ūѡ��ѡ ���� �ͧ��ѡ���Դ ��ҡ�����ö��͹��������Һ��С�͡���� �ա������
���� ���ͧ�ӹdz Check Digit �ͧ���ʻ�ЪҪ���ҡѹ�ա���
��¡������ҧ���ʻ�ЪҪ�����Сѹ��Ѻ
1-2015-41462-23-4
�˹ �ͺ˹��«� ��� Check Digit �ͧ���ʻ�ЪҪ�������Ţ���ä��Һ.......
���� ����ͧ�ͺ�ͧ���� Check Digit �ͧ���ʻ�ЪҪ�������Ţ 4 (�Ţ����ش���¹���ͧ)
����Ҵ١ѹ��� �Ţ 4 �Դ�ҡ��������? �ӹdz�����? �����������?
��鹵͹��� 1 - ����Ţ 12 ��ѡ�� ��¹�¡��ѡ�ѹ��͹ (��ѡ��� 13 ����ͧ����ҹФ��Һ)
��鹵͹��� 2 - ����Ţ 12 ��ѡ����� �ٳ��ҡѺ�Ţ��Ш���ѡ�ͧ�ѹ
��鹵͹��� 3 - ��ҼŤٳ��� 12 ����� �ǡ�ѹ������ ����
13+24+0+10+45+32+7+24+30+8+6+6=205
��鹵͹��� 4 - ����Ţ�����ҡ��鹵͹��� 3 �� mod 11 (���������) ���� 205 mod 11 = 7
��鹵͹��� 5 - ��� 11 ��� ź�͡���� �Ţ�����ҡ��鹵͹��� 4 ���� 11-7 = 4 (��Ҩ��� 4 ���Ţ���ѡ
Check Digit)
����Դ ź�������͡�����Ţ 2 ��ѡ �������Ţ���ѡ˹������� Check Digit (�� 11 ������ 1 ��,
10 ������ 0 �� �繵�)
�����....���Ȩ�����ҡ �ʹ��������������ͧ �Ţ�����ç�Ѻ�Ţ��ѡ��� 13 ��������...���������͡�����Ţ�ѵ�
��ЪҪ�����ͧ�Ҥӹdz���Ԥ�Ѻ
1 2 0 1 5 4 1 4 6 2 2 3
���ʺѵ� 1 2 0 1 5 4 1 4 6 2 2 3
��Ǥٳ 13 12 11 10 9 8 7 6 5 4 3 2
�Ťٳ 13 24 0 10 45 32 7 24 30 8 6 6
���Դ�������� �����դӶ�������������� ������ͧ����Ҥٳ 13 ������ͧ����� �ǡ�ѹ ������ͧ�����
mod 11 �ӵͺ������������ �ѹ����Ըշ��١���͡��㹡�äӹdz Check Digit ���Ѻ���ʻ�ЪҪ���Ѻ �������
�Фӹdz Check Digit ���Ѻ�����Թ��� ���� ISBN �ͧ˹ѧ��� ��ҡ��ͧ���Ըա�äӹdz ���ᵡ��ҧ�ѹ�͡�
��Ѻ
����������Ը����� �������¹�������Ǩ�ͺ�ѹ�ա���
����¹������������������͹�ѹ ������͹� ���͡�������дǡ�Ф�Ѻ
�����ѹ php
<?
function checkID($id) {
if(strlen($id) != 13) return false;
for($i=0, $sum=0; $i<12;$i++)
$sum += (int)($id{$i})*(13-$i);
if((11-($sum%11))%10 == (int)($id{12}))
return true;
return false;
}
?>
<form action="?" method="get">
���ʻ�Шӵ�ǻ�ЪҪ� : <input type="text" name="txtID" />
<input type="submit" value="��Ǩ�ͺ" />
</form>
<?
if(isset($_GET['txtID'])) {
if(checkID($_GET['txtID']))
echo "���ʶ١��ͧ��Ѻ";
else
echo "���ʷ��س��͡���١��ͧ�"; �Ѻ
}
?>
�����ѹ JavaScript
<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%11)%10!=parseFloat(id.charAt(12))) return false;
return true;
}
function checkForm() {
if(!checkID(document.form1.txtID.value))
alert('���ʻ�ЪҪ����١��ͧ');
else
alert('���ʻ�ЪҪ��١��ͧ �Ô��ҹ��');
}
</script>
<form name="form1" onsubmit="checkForm(); return false;">
���ʻ�Шӵ�ǻ�ЪҪ� : <input type="text" name="txtID" />
<input type="submit" value="��Ǩ�ͺ" />
</form>
������� ASP 3
<%
Function checkID(id)
checkID = False
If Len(id) = 13 Then
Dim i, sum
For i = 1 To 12
sum = sum + CInt(Mid(id, i, 1))*(14-i)
Next
If (11-(sum Mod 11)) Mod 10 = CInt(Mid(id, i, 13)) Then
checkID = True
End If
End If
End Function
%>
<form action="?" method="get">
���ʻ�Шӵ�ǻ�ЪҪ� : <input type="text" name="txtID" />
<input type="submit" value="��Ǩ�ͺ" />
</form>
<%
If Request("txtID") <> "" Then
If checkID(Request("txtID")) Then
Response.Write "���ʶ١��ͧ��Ѻ"
Else
Response.Write "���ʷ��س��͡���١��ͧ��Ѻ"
End If
End If
%>
��ԧ� ���Ƕ�����͹� ���������ԧ �� Copy �੾�пѧ��ѹ CheckID �����Ѻ �¾������������á�ͧ
CheckID ��� 3 ���ҹ���� ��ͤ�����������ʻ�Шӵ�ǻ�ЪҪ�����Ѻ �ѧ��ѹ���Ф׹����� True ������ʶ١��ͧ
��Ф׹����� False ������ʼԴ��Ѻ
��ػ
��������¹����Ըա�õ�Ǩ�ͺ���ͧ�� (������������ͧ��) �������ʻ�ЪҪ���������͡ �Ҩ�� Check Digit ���١
��ͧ ���Ҩ�����ʻ�ЪҪ��������������ԧ����Ф�Ѻ
�֡������������� : http://www.don99.com |
|
���仢�ҧ�� |
|
|
ryuozero Site Admin
�������: 13 Jul 2005 �ͺ: 1145
|
�ͺ�����: Thu Feb 24, 2011 12:35 am ����ͧ: |
|
|
[url=http://www.thainaturecure.com/PIN/PIN.php
]������� �����Ţ�ѵû�Шӵ�ǻ�ЪҪ�[/url] ���� webservice �ͧ�����þҡ� (����١��ͧ 100%)
���Ͷ�ҵ�ͧ�����㹢�鹵� ���� php ������ҹ��ҧ�����¤Ѻ ������礵���ٵ�
###======================�Ѻ��Ҩҡ�����==============###
$group_1=$_POST['group_1']; // ������������� 1 ( ��1��� )
$group_2=$_POST['group_2']; // ������������� 2 ( ��4��� )
$group_3=$_POST['group_3']; // ������������� 3 ( ��5��� )
$group_4=$_POST['group_4']; // ������������� 4 ( ��2��� )
$group_5=$_POST['group_5']; // �����Ţ�������� 5 ( ��1��� ) ��ѡ����������� Check Digit
### =================== �Ӥ��ҷ����ҡ��������¡ʵ�ԧ�� ==============###
$num1=$group_1;
$num2=substr("$group_2",0,1); // �֧����Ţ����á �ͧ���������ͧ�͡��
$num3=substr("$group_2",1,1); // �֧����Ţ��Ƿ���ͧ �ͧ���������ͧ�͡��
$num4=substr("$group_2",2,1); // �֧����Ţ��Ƿ����� �ͧ���������ͧ�͡��
$num5=substr("$group_2",3,1); // �֧����Ţ��Ƿ����� �ͧ���������ͧ�͡��
$num6=substr("$group_3",0,1); // �֧����Ţ����á �ͧ������������͡��
$num7=substr("$group_3",1,1); // �֧����Ţ��Ƿ���ͧ �ͧ������������͡��
$num8=substr("$group_3",2,1); // �֧����Ţ��Ƿ����� �ͧ������������͡��
$num9=substr("$group_3",3,1); // �֧����Ţ��Ƿ����� �ͧ������������͡��
$num10=substr("$group_3",4,1); // �֧����Ţ��Ƿ��5 �ͧ������������͡��
$num11=substr("$group_3",0,1); // �֧����Ţ����á �ͧ������������͡��
$num12=substr("$group_2",1,1); // �֧����Ţ��Ƿ���ͧ �ͧ������������͡��
$num13=$group_5;
### ==== ������鹤ӹdz Step1 : ����Ţ 12 ��ѡ�Ҥٳ�Ѻ�Ţ��Ш���ѡ ====###
$cal_num1=$num1*13;
$cal_num2=$num2*12;
$cal_num3=$num3*11;
$cal_num4=$num4*10;
$cal_num5=$num5*9;
$cal_num6=$num6*8;
$cal_num7=$num7*7;
$cal_num8=$num8*6;
$cal_num9=$num9*5;
$cal_num10=$num10*4;
$cal_num11=$num11*3;
$cal_num12=$num12*2;
### ==== Step2 : �����Ҽ��Ѿ������㹡�äٳ���Ф����Һǡ�ѹ ====###
$cal_sum=$cal_num1+$cal_num2+$cal_num3+$cal_num4+$cal_num5+$cal_num6+$cal_num7+$cal_num8+$cal_num9+$cal_num10+$cal_num11+$cal_num12;
### ==== Step3 : �Ӽ��Ѿ��ҡ Step2 �� Mod ���� 11 ====###
$cal_mod=$cal_sum%11;
### ==== Final ��� 11 �������ź���� ��ҷ����ҡ��� Mod ( Step3) ====###
$cal_2=11-$cal_mod;
if ($group_1<>"" || $group_1<>"" || $group_1<>"" || $group_1<>"" || $group_1<>"" ) {
if ($cal_2==$num13) {
echo "�����Ţ�ѵû�ЪҪ����١��ͧ";
} else {
echo "�����Ţ�ѵû�ЪҪ�������١��ͧ";
}
}
?>
���鴷�����૿�� ������ ryuozero.html
ʧ��µç�˹ MSN: [email protected] |
|
���仢�ҧ�� |
|
|
ryuozero Site Admin
�������: 13 Jul 2005 �ͺ: 1145
|
�ͺ�����: Thu Feb 24, 2011 12:36 am ����ͧ: |
|
|
�Ҵ��Ը��� ��� "���������ʻ�ЪҪ�������?"
�������������Ẻ��ʴ�ú�ҧ�������Ѻ ��͹��ҹ���������� ���͹��ʹ� ��ʹٷ�������� "�������"
���ʻ�Шӵ�ǻ�ЪҪ� (�����¡������� ���ʻ�ЪҪ�) �����Ҩ��ҵ�Ǩ�ѹ�ѹ��������ʻ�ЪҪ� �ͧ���¹Ф�Ѻ
��͹��� ������͹� ��Ժ�ѵû�ЪҪ��ͧ���͹� ����Ҵ١ѹ��¤�Ѻ
���ʻ�Шӵ�Ǣͧ��Ҩ�������ٻ x-xxxx-xxxxx-xx-x (�Ţ 13 ��ѡ) �����¤�Ѻ �����͹� �������� ��ԧ����� ����
��Шӵ�Ǣͧ������� ��ԧ� �������� 12 ��ѡ��ҹ�� (12 ��ѡ�á) ���Ţ����ش�������� �� Check Digit ��Ѻ
Check Digit �������˹�?
Check Digit �繵���Ţ 1 ��ѡ ����Դ�ҡ��ù��Ţ��ѡ���� �� �ǡ ź �ٳ ��� �ѹ ��� Check Digit ������
��Ѻ �Ъ��������ҵ�Ǩ�ͺ����ͧ������� �����ŷ���͡�Ҷ١��ͧ������
������Ҩе�Ǩ�ͺ��Ң����ŷ���͡�Ҷ١��ͧ������ ��ҨФӹdz Check Digit �ҡ�Ţ��ѡ���� �������º��º
�Ѻ Check Digit ����ҡ�͡����ҵç�ѹ���� ��ҵç�ѹ���ʴ���Ң����Ŷ١��ͧ���Դ ������� �������ç�ѹ �������
�����ŷ���͡���բ����ūѡ��ѡ ���� �ͧ��ѡ���Դ ��ҡ�����ö��͹��������Һ��С�͡���� �ա������
���� ���ͧ�ӹdz Check Digit �ͧ���ʻ�ЪҪ���ҡѹ�ա���
��¡������ҧ���ʻ�ЪҪ�����Сѹ��Ѻ
1-2015-41462-23-4
�˹ �ͺ˹��«� ��� Check Digit �ͧ���ʻ�ЪҪ�������Ţ���ä��Һ.......
���� ����ͧ�ͺ�ͧ���� Check Digit �ͧ���ʻ�ЪҪ�������Ţ 4 (�Ţ����ش���¹���ͧ)
����Ҵ١ѹ��� �Ţ 4 �Դ�ҡ��������? �ӹdz�����? �����������?
��鹵͹��� 1 - ����Ţ 12 ��ѡ�� ��¹�¡��ѡ�ѹ��͹ (��ѡ��� 13 ����ͧ����ҹФ��Һ)
��鹵͹��� 2 - ����Ţ 12 ��ѡ����� �ٳ��ҡѺ�Ţ��Ш���ѡ�ͧ�ѹ
��鹵͹��� 3 - ��ҼŤٳ��� 12 ����� �ǡ�ѹ������ ����
13+24+0+10+45+32+7+24+30+8+6+6=205
��鹵͹��� 4 - ����Ţ�����ҡ��鹵͹��� 3 �� mod 11 (���������) ���� 205 mod 11 = 7
��鹵͹��� 5 - ��� 11 ��� ź�͡���� �Ţ�����ҡ��鹵͹��� 4 ���� 11-7 = 4 (��Ҩ��� 4 ���Ţ���ѡ
Check Digit)
����Դ ź�������͡�����Ţ 2 ��ѡ �������Ţ���ѡ˹������� Check Digit (�� 11 ������ 1 ��,
10 ������ 0 �� �繵�)
�����....���Ȩ�����ҡ �ʹ��������������ͧ �Ţ�����ç�Ѻ�Ţ��ѡ��� 13 ��������...���������͡�����Ţ�ѵ�
��ЪҪ�����ͧ�Ҥӹdz���Ԥ�Ѻ
1 2 0 1 5 4 1 4 6 2 2 3
���ʺѵ� 1 2 0 1 5 4 1 4 6 2 2 3
��Ǥٳ 13 12 11 10 9 8 7 6 5 4 3 2
�Ťٳ 13 24 0 10 45 32 7 24 30 8 6 6
���Դ�������� �����դӶ�������������� ������ͧ����Ҥٳ 13 ������ͧ����� �ǡ�ѹ ������ͧ�����
mod 11 �ӵͺ������������ �ѹ����Ըշ��١���͡��㹡�äӹdz Check Digit ���Ѻ���ʻ�ЪҪ���Ѻ �������
�Фӹdz Check Digit ���Ѻ�����Թ��� ���� ISBN �ͧ˹ѧ��� ��ҡ��ͧ���Ըա�äӹdz ���ᵡ��ҧ�ѹ�͡�
��Ѻ
����������Ը����� �������¹�������Ǩ�ͺ�ѹ�ա���
����¹������������������͹�ѹ ������͹� ���͡�������дǡ�Ф�Ѻ
�����ѹ php
<?
function checkID($id) {
if(strlen($id) != 13) return false;
for($i=0, $sum=0; $i<12;$i++)
$sum += (int)($id{$i})*(13-$i);
if((11-($sum%11))%10 == (int)($id{12}))
return true;
return false;
}
?>
<form action="?" method="get">
���ʻ�Шӵ�ǻ�ЪҪ� : <input type="text" name="txtID" />
<input type="submit" value="��Ǩ�ͺ" />
</form>
<?
if(isset($_GET['txtID'])) {
if(checkID($_GET['txtID']))
echo "���ʶ١��ͧ��Ѻ";
else
echo "���ʷ��س��͡���١��ͧ�"; �Ѻ
}
?>
�����ѹ JavaScript
<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%11)%10!=parseFloat(id.charAt(12))) return false;
return true;
}
function checkForm() {
if(!checkID(document.form1.txtID.value))
alert('���ʻ�ЪҪ����١��ͧ');
else
alert('���ʻ�ЪҪ��١��ͧ �Ô��ҹ��');
}
</script>
<form name="form1" onsubmit="checkForm(); return false;">
���ʻ�Шӵ�ǻ�ЪҪ� : <input type="text" name="txtID" />
<input type="submit" value="��Ǩ�ͺ" />
</form>
������� ASP 3
<%
Function checkID(id)
checkID = False
If Len(id) = 13 Then
Dim i, sum
For i = 1 To 12
sum = sum + CInt(Mid(id, i, 1))*(14-i)
Next
If (11-(sum Mod 11)) Mod 10 = CInt(Mid(id, i, 13)) Then
checkID = True
End If
End If
End Function
%>
<form action="?" method="get">
���ʻ�Шӵ�ǻ�ЪҪ� : <input type="text" name="txtID" />
<input type="submit" value="��Ǩ�ͺ" />
</form>
<%
If Request("txtID") <> "" Then
If checkID(Request("txtID")) Then
Response.Write "���ʶ١��ͧ��Ѻ"
Else
Response.Write "���ʷ��س��͡���١��ͧ��Ѻ"
End If
End If
%>
��ԧ� ���Ƕ�����͹� ���������ԧ �� Copy �੾�пѧ��ѹ CheckID �����Ѻ �¾������������á�ͧ
CheckID ��� 3 ���ҹ���� ��ͤ�����������ʻ�Шӵ�ǻ�ЪҪ�����Ѻ �ѧ��ѹ���Ф׹����� True ������ʶ١��ͧ
��Ф׹����� False ������ʼԴ��Ѻ
��ػ
��������¹����Ըա�õ�Ǩ�ͺ���ͧ�� (������������ͧ��) �������ʻ�ЪҪ���������͡ �Ҩ�� Check Digit ���١
��ͧ ���Ҩ�����ʻ�ЪҪ��������������ԧ����Ф�Ѻ |
|
���仢�ҧ�� |
|
|
|