[PHP]身份证校验位的计算/ISO 7064:1983.MOD 11-2 算法
来源:互联网 发布:finale2011汉化软件 编辑:程序博客网 时间:2024/05/17 08:44
[PHP]身份证校验位的计算/ISO 7064:1983.MOD 11-2 算法
[PHP]
<?
function iso7064($vString)
{
// ISO 7064:1983.MOD 11-2
// by goseaside@sina.com
$wi = array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
$hash_map = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
[PHP]
<?
function iso7064($vString)
{
// ISO 7064:1983.MOD 11-2
// by goseaside@sina.com
$wi = array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
$hash_map = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
$i_size = strlen($vString);
$bModify = '?' == substr($vString, -1);
$bModify = '?' == substr($vString, -1);
$i_size1 = $bModify ? $i_size : $i_size + 1;
for ($i = 1; $i <= $i_size; $i++) {
$i1 = $vString[$i - 1] * 1;
$w1 = $wi[($i_size1 - $i) % 10];
$sigma += ($i1 * $w1) % 11;
}
if($bModify) return str_replace('?', $hash_map[($sigma % 11)], $vString);
else return $hash_map[($sigma % 11)];
}
for ($i = 1; $i <= $i_size; $i++) {
$i1 = $vString[$i - 1] * 1;
$w1 = $wi[($i_size1 - $i) % 10];
$sigma += ($i1 * $w1) % 11;
}
if($bModify) return str_replace('?', $hash_map[($sigma % 11)], $vString);
else return $hash_map[($sigma % 11)];
}
/*
// Demo
// $s 为某个 17 位身份证号码,不包含校验位
echo iso7064($s); // 获得校验位的值
echo iso7064("$s?"); // 包含校验位的结果
*/
?>
[/PHP]
// Demo
// $s 为某个 17 位身份证号码,不包含校验位
echo iso7064($s); // 获得校验位的值
echo iso7064("$s?"); // 包含校验位的结果
*/
?>
[/PHP]
- [PHP]身份证校验位的计算/ISO 7064:1983.MOD 11-2 算法
- 身份证最后一位校验算法(ISO 7064:1983.MOD 11-2)
- swift 实现身份证最后一位校验,符合(ISO 7064:1983.MOD 11-2)标准,包括正则校验
- VB实现的身份证校验位算法
- 新版身份证校验位算法
- python实现身份证校验位计算
- python实现身份证校验位计算
- 身份证末尾校验位计算OC
- 18位身份证校验位算法
- 计算MEID校验位的算法函数
- 计算IMEI校验位的算法函数
- 信用卡校验位算法THE LUHN MOD-10
- ISO 7064:1983.MOD11-2校验码计算法 : (身份证校验码-18位)
- Luhn算法计算银联卡卡号校验位
- 深入一步探索Python计算身份证校验位的代码写法【map -> imap】
- 18位身份证校验位的计算方法
- 18位身份证校验位的计算方法
- 18位身份证校验位的计算方法
- c#调用数据库的WebService
- Android入门第十五篇之ActivityGroup + GridView 实现Tab分页标签
- 〖中华人民共和国国家标准 GB 11643-1999〗 身份证升位
- Matlab和C联合编程
- 关于线程的sleep函数
- [PHP]身份证校验位的计算/ISO 7064:1983.MOD 11-2 算法
- Hadoop集群中增加新节点
- WebService开发实例2-Delphi调用WS的DLL
- 对于常出现的“不是内部或外部命令,也不是可运行的程序或批处理文件”错误的解答
- oracle 相关默认用户密码
- ubuntu安装vmware tools问题
- UI开发第五篇——自定义列表
- Php删除指定文件和文件夹[函数]
- windown 7 下安装 oracle designer