//验证VIN车辆识别代码是否正确
function check($vin, $ismake=0)
{
$weight = [8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2];
$map = ['0'=>0,'1'=>1,'2'=>2,'3'=>3,'4'=>4,'5'=>5,'6'=>6,'7'=>7,'8'=>8,'9'=>9,
'A'=>1 ,'B'=>2, 'C'=>3, 'D'=>4, 'E'=>5, 'F'=>6, 'G'=>7, 'H'=>8, 'J'=>1,
'K'=>2, 'L'=>3, 'M'=>4, 'N'=>5, 'P'=>7, 'R'=>9, 'S'=>2, 'T'=>3, 'U'=>4, 'V'=>5, 'W'=>6
, 'X'=>7, 'Y'=>8, 'Z'=>9];
$num = 0;
if(!preg_match('#^[1-9A-Z][0-9A-Z]{16}$#i', $vin) || preg_match('#^([0-9A-Z])\1{16}$#', $vin))
return false;
$vin = strtoupper($vin);
$result = str_split($vin);
foreach($result as $k=>$v){
if($k == 8) continue;
$num += $weight[$k] * $map[$v];
//var_dump($num);
}
$yu = $num%11 == 10 ? 'X' : $num%11;
if($ismake) return $yu;
else return $yu == $result[8] ?true :false;
}
//生成第9位:
$nine = check('1HGCM82633A123456', 1);
//验证第9位是否合法:
if(check('1HGCM82633A123456')) echo '合法'; PHP通用请求函数,CURL封装


© 2015-2025 杭州极速互联科技有限公司 版权所有 浙ICP备17047587号-4 浙公网安备33010502005096 增值电信业务经营许可证:浙B2-20190875