您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

条形码 校验位 计算公式 PHP、T-SQL 程序

来源:未知 责任编辑:责任编辑 发表时间:2014-05-26 10:59 点击:

最近工作涉及计算条形码第 13位校验位批量更改, AI、条码打印机、条码扫描器等软件内置生成校验位,网上搜索也找了条码生成器,但对我们来说不够灵活,编写了一个小程序 计算校验位

条形码 条码打印机 条码扫描器

OK 先看看PHP版的,跟网上搜索到的简单了不少


function en13($code) 
{    
    $tmp1=0; 
    $tmp2=0; 
    for($i=0;$i<12;$i++) 
    { 
        if($i % 2==0) 
        $tmp1+=substr($code,$i,1);       
        else 
        $tmp2+=substr($code,$i,1);       
    }        
    return (10-($tmp2*3+$tmp1)%10)%10; 

 
//测试  www.2cto.com
$t="6939762911740"; 
echo en13($t); 
function en13($code)

 $tmp1=0;
 $tmp2=0;
 for($i=0;$i<12;$i++)
 {
  if($i % 2==0)
  $tmp1+=substr($code,$i,1);  
  else
  $tmp2+=substr($code,$i,1);  
 }  
 return (10-($tmp2*3+$tmp1)%10)%10;
}

//测试
$t="6939762911740";
echo en13($t);
还有要把MSSQL数据库中的数据批量更新 就不写程序了 直接在sql企业管理器里更新

T-SQl代码


declare @str as varchar(15) 
declare @tmp as varchar(30) 
declare @t1 as int 
declare @t2 as int 
declare @i int  
set @t1=0 
set @t2=0 
set @str='6939762911740' 
set @i=1  
while @i<=12  
begin  
    if @i % 2=0  
        begin 
            set @t1=@t1+substring(@str,@i,1) 
        end 
    else 
        begin 
            set @t2=@t2+substring(@str,@i,1) 
        end  
    set @i=@i+1  
     
end 
 
set @tmp=(10-(@t1*3+@t2)%10)%10 
 
--end function  
SELECT @t1 ,@t2,@tmp 
declare @str as varchar(15)
declare @tmp as varchar(30)
declare @t1 as int

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • PHP测试
  • 十天学会php之第六天
  • 几种显示数据的方法的比较
  • 使用xmlhttp为网站增加域名查询功能
  • PHP+MYSQL+Javascript数据库查询结果的动态显示
  • 查找数组中指定键名的值
  • 用redis实现跨服务器session
  • 用新浪微博接口发送图片微博失败的原因
  • smarty局部缓存技术[源码分析]
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1