UPC码校验程序(条形码)
UPC码校验程序(条形码)

UPC码的编码
1973年,美国率先在国内的商业领域中应用了UPC码,之后加拿大也在商业领域中采用了UPC码。UPC码的应用大大提高了商业管理的自动化水平。
UPC码是一种长度固定的、连续型的数字式码制,其字符集是数字0-9。它采用4种元素宽度,每个条或空是1、2、3或4倍单元元素宽度。UPC码有两种类型,即UPC-A码和UPC-E码。
UPC-A码的校验方法
UPC-A码的校验字符位于数据字符的后面,它用于提高数据的可靠性。


<html>
<head>
<title>Timer</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript">
// *****************************************************************
//                   Written By Caocao
//                   [email protected]
//                   http://caocao.oso.com.cn
// *****************************************************************
</script>
</head>
<body bgcolor="#FFFFFF">
<?
function isUPC($code)
{
  if (
strlen($code)!=12)
  {
    return (
"条形码长度不对");
  }
  if (!
ereg("[0-9]{12}",$code))
  {
    return (
"条形码含有其他字符");
  }
  
$code=strtok($code,"");
  
$result1=0;
  
$result2=0;
  for (
$i=0;$i<11;$i++)
  {
    if (
$i%2==0)
    {
      
$result1+=$code[$i]*3;
    }
    else
    {
      
$result2+=$code[$i];
    }
  }
  if (
$code[11]==($result1+$result2)%10)
  {
    return (
"条形码正确");
  }
  return (
"条形码校验错误");
}

echo 
isUPC("012345678905");
?>
</body>
</html>