php 检测Israeli ID (9 digits)是否有效的解决办法
内容摘要
这篇文章主要为大家详细介绍了php 检测Israeli ID (9 digits)是否有效的简单示例,具有一定的参考价值,可以用来参考一下。
本文实例讲述了 php检测Israeli ID (9 digits)是否
本文实例讲述了 php检测Israeli ID (9 digits)是否
文章正文
这篇文章主要为大家详细介绍了php 检测Israeli ID (9 digits)是否有效的简单示例,具有一定的参考价值,可以用来参考一下。
本文实例讲述了 php检测Israeli ID (9 digits)是否有效,对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下:
/**
* 检测Israeli ID (9 digits)是否有效
*
* @param
* @arrange (www.idcnote.com)
**/
function toCharArray($input){
$len = strlen($input);
for ($j=0;$j<$len;$j++){
$char[$j] = substr($input, $j, 1);
}
return ($char);
}
function validateID($ID){
//Clean spaces
$ID = ereg_replace('[-[:space:]]', '',$ID);
//Grab the test digit
$Bikoret=substr($ID,8,1);
//Take only 8 left digits of the Id.
$ID = substr($ID,0,strlen($ID)-1);
$dig = toCharArray($ID);
$numdig = sizeof($dig);
$j = 0;
for($i=($numdig-1) ; $i>=0 ; $i-=2){
$dbl[$j] = $dig[$i] * 2;
$j++;
}
$dblsz = sizeof($dbl);
$validate = 0;
//Sum all the 2x
for($i=0 ; $i<$dblsz ; $i++){
$add = toCharArray($dbl[$i]);
for($j=0 ; $j<sizeof($add) ; $j++){
$validate += $add[$j];
}
$add = '';
}
//Sum all the 1x
for ($i=($numdig-2); $i>=0; $i-=2){
$validate += $dig[$i];
}
If($validate % 10 != 0) {
$Bikoret1=(substr($validate, 0, 1) + 1) * 10;
}
Else {
$Bikoret1=$validate;
}
If($Bikoret1 - $validate == $Bikoret) return 1;
else return 0;
}
/*** 代码来自php教程(www.idcnote.com) ***/
注:关于php 检测Israeli ID (9 digits)是否有效的简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释