|
|
|
ตรวจสอบรหัสบัตรประชาชน อยากทราบ code ตรวจสอบรหัสบัตรประชาชนครับ ขอหน่อยครับ |
|
|
|
|
|
|
|
Code (PHP)
<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>
Code (PHP)
<form name="form1" onsubmit="checkForm(); return false;">
รหัสประจำตัวประชาชน : <input type="text" name="txtID" />
<input type="submit" value="ตรวจสอบ" />
</form>
|
|
|
|
|
Date :
2009-10-07 23:58:04 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดีมากเลยครับ
แต่ช่วยอธิบายตรงนี้หน่อยครับ ว่าค่าที่ได้มา มีความหมายอย่างไร
แล้วสามารถรู้ได้จริงหรือไม่ว่าไม่ได้กรอกตัวเลขมั่วน่ะครับ
for(i=0, sum=0; i < 12; i++)
sum += parseFloat(id.charAt(i))*(13-i); if((11-sum%11)%10!=parseFloat(id.charAt(12)))
ขอบคุณครับ
|
|
|
|
|
Date :
2009-10-08 00:10:53 |
By :
pkk_udom |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบแทนนะคับ
มันเป็นแค่หลักการในการคิดคำนวนครับ
|
|
|
|
|
Date :
2009-10-08 00:19:54 |
By :
== |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าต้องการให้เช็คเลยมันมีสูตรคิดอยู่น่ะคับ
ลองหาดูในgoogle
|
|
|
|
|
Date :
2009-10-08 10:05:45 |
By :
apicha31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110703887146
|
|
|
|
|
Date :
2020-11-25 10:54:51 |
By :
วรรณภา ประสพกลิ่น |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$idNum = '0000000000000';// ระบุรหัสบัตรปชช.ตรงนี้
/**
* Check Thai national ID number.
*
* @param string $idNum The ID number.
* @param string $check Returns type. Accept 'check', 'value'. The 'check' will return boolean (true on success), and the 'value' will return last digit that would be expected.
* @return mixed Return value is depend on `$return` argument.
*/
function checkThaiID(string $idNum, string $return = 'check')
{
$idNumArray = mb_str_split($idNum);
$idNumLength = mb_strlen($idNum);
if ($idNumLength <= 12) {
throw new \Exception('The ID number must be 13 digits, ' . $idNumLength . ' given.');
}
$idNumX = 0;
for ($i = 1; $i <= 12; $i++) {
$idNumX += (($idNumLength - ($i - 1)) * intval($idNumArray[($i - 1)]));
}
$idNumXMod = $idNumX % 11;
if ($idNumXMod <= 1) {
$idNumAt13 = 1 - $idNumXMod;
} else {
$idNumAt13 = 11 - $idNumXMod;
}
$realIdNumAt13 = intval($idNumArray[12]);
if ('check' === $return) {
return $realIdNumAt13 === $idNumAt13;
} else {
return $idNumAt13;
}
}// checkThaiID
$idNumAt13 = checkThaiID($idNum, 'value');
echo '<p>ID number is ' . $idNum . '.</p>';
echo '<p>The last digit should be ' . $idNumAt13 . '.</p>';
$checkResult = checkThaiID($idNum);
if (true === $checkResult) {
echo '<p>CORRECT!</p>';
}
assert($checkResult === true, 'Calculated not matched.');
อ้างอิง
https://th.wikipedia.org/wiki/%E0%B9%80%E0%B8%A5%E0%B8%82%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B8%88%E0%B8%B3%E0%B8%95%E0%B8%B1%E0%B8%A7%E0%B8%9B%E0%B8%A3%E0%B8%B0%E0%B8%8A%E0%B8%B2%E0%B8%8A%E0%B8%99%E0%B9%84%E0%B8%97%E0%B8%A2
เอาไปทดสอบถ้าเลขบัตรใครผลลัพธ์คำณวนออกมาแล้วไม่ถูกก็บอกกัน. เปิดแสดง error ด้วยเพราะมันจะมีการ throw exception และ assert.
|
|
|
|
|
Date :
2023-11-03 23:30:13 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|