Powerbuilder编写身份证校验码
public function boolean of_calc_cardid_verifycode (string as_cardid, ref string as_verifycode);
/*
计算身份证校验码 王贤进 2014.03.15
参数:string as_cardid 身份证的前17位或18位(第18位可随便)
ref string as_verifycode 返回校验码,即身份证的第18位值
返回值: TRUE为有效身份证号,并将校验码在as_verifycode中返回
FALSE为无效身份证号
原理参考:http://zh.wikisource.org/wiki/GB_11643-1999_%E5%85%AC%E6%B0%91%E8%BA%AB%E4%BB%BD%E5%8F%B7%E7%A0%81
*/
char Ai[]
int Wi[] = {, , , , , , , , , , , , , , , , }
char codeTable[ to ]="10X98765432"
string ls_carid
ls_carid = Trim(as_cardid)
IF Len(ls_carid) <> AND len(ls_carid)<> Then Return false
Ai = Left(ls_carid,)
IF Not Match(Ai,"^[0-9]+$") Then Return false long ll_l,ll_sum
ll_sum =
for ll_l = To
ll_sum += long(Ai[ll_l]) * Wi[ll_l]
Next as_verifycode = codeTable[ Mod(ll_sum,)]
Return True
end function
Powerbuilder编写身份证校验码的更多相关文章
- ISO 7064:1983.MOD11-2校验码计算法 : (身份证校验码-18位)
/* 假设某一17位数字是 17位数字 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 加权因子 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 计算17位 ...
- C#编程:正则表达式验证身份证校验码-10
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- JS-计算身份证校验码(最后一位)
在线预览 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- 完美实现身份证校验 js正则
注意: 1.只针对18为身份证号码进行校验,现在15位的应该很少了, 2.不区分xX大小写, 3.出生年份1900-2099,每月的天数也进行相关验证(考虑的闰月的情况), 4.校验规则详见,这个写的 ...
- 各种条码的校验码算法(EAN13,COD128,GTIN,UCC等)
校验码是由编码方案决定的,所以在代码中是否使用校验码和条码基本无关,但商品条码除外.今天给大家介绍几种校验码的计算方法. 一.商品条码: 商品条码中需要计算校验码的有:EAN-8(8位),EAN-13 ...
- 身份证最后一位按照ISO7064:1983.MOD11-2校验码
居民身份证号码,根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地 ...
- 如何使用Delphi编写Modbus RTU CRC16的校验码
在工业控制中,Modbus RTU CRC16的校验码用的比较广泛,包括本人富士产品中,PC与伺服电机以及PC与VP系列的变频器的Modbus RTU通讯中都使用到了CRC16. 而对CRC1 ...
- oracle 身份证校验函数
1.正则表达式写法: CREATE OR REPLACE FUNCTION Func_checkidcard (p_idcard IN VARCHAR2) RETURN INT IS v_regstr ...
- 身份证校验,前台js校验,后台java校验
js校验: var vcity={ 11:"北京",12:"天津",13:"河北",14:"山西",15:"内 ...
随机推荐
- Linux监控工具 (Linux Monitor Tools)
最近发现几个好用的工具,顺便总结下. Zabbix和Nagios属于重量级,企业级Service procps-ng: top, free, ps, pgrep, vmstat ... sysstat ...
- SQL 存储过程入门(事务)(四)
SQL 存储过程入门(事务)(四) 本篇我们来讲一下事务处理技术. 为什么要使用事务呢,事务有什么用呢,举个例子. 假设我们现在有个业务,当做成功某件事情的时候要向2张表中插入数据,A表,B表,我 ...
- 关于Parallel.For/Foreach并行方法中的localInit, body, localFinally使用
对集合成员的操作往往可以通过并行来提高效率,.NET Parallel类提供了简单的方法来帮助我们实现这种并行,比如Paralle.For/ForEach/Invoke方法. 其中,For/ForEa ...
- laravel 5.3 学习之路——路由(资源,别名)
laravel的路由定义中,其中route:resoure(),可以直接定义类似restful风格的URL 例如:Route::resource('system/role','System\RoleC ...
- CG
//设置线的宽度 CGContextSetLineWidth(ctx, 12); //设置线的连接处 (拐点) CGContextSetLineJoin(ctx, kCGLineJoinRound ) ...
- imagepng或imagejpeg浏览器无显示问题
可以先参考这篇文章,检查一下php的文件编码是否有bom 然而我并不是这个问题,后来想到或许是输出缓冲中有其它内容, 于是尝试 ob_clean();$imagepng($im);或//imagejp ...
- 微信公众号开发第二课 百度BAE搭建和数据库使用
上一节主要是一些准备知识,本课还是准备知识,开发微信也可以不使用数据库,但是要想搭建一些查询类应用,就可能使用到数据库操作,所以本节主要涉及到百度BAE上面的数据库表的创建,插入数据,修改数据,删除数 ...
- Linux高级编程--05.文件读写
缓冲I/O和非缓冲I/O 文件读写主要牵涉到了如下五个操作:打开.关闭.读.写.定位.在Linux系统中,提供了两套API, 一套是C标准API:fopen.fclose.fread.fwrite.f ...
- 如何查看distirbution agent的执行进度
在transactional replication troubleshooting的过程中,经常会遇到下面的场景: 客户在发布端执行了一个几百万行的更新,结果导致性能下降. 客户很想知道目前dist ...
- [OpenCV] Install openCV in Qt Creator
Learn openCV.pdf qmake: link with opencv (Key Point) QT += core gui greaterThan(QT_MAJOR_VERSION, 4) ...