用AS3.0生成身份证号码随机
来源:互联网 发布:我要投诉淘宝小二 编辑:程序博客网 时间:2024/05/17 06:58
由于我要用身份证重新注册游戏账号,但是又不能用自己本人的。
于是突发奇想自己做一个身份证生成器。
首先是出身地址:成都市锦江区
出身年月日:1989年9月1日
那么当前的前14位已经出来了:510104 19890901 前6位是地址码,后8位是出身年月日
第15,16位是所在地区派出所代码,第17位,是同年月日出身人的编号----男奇女偶
第18位是根据前17位数字码,按照ISO 7064:1983.MOD 11-2标准计算得来,也就是所谓的校验码。
这里要用到几个简单的算法:
1,随机整数:Math.floor(Math.random()*(99-11+1))+11 (11-99随机整数)
2,十位数取十位:Math.floor( Number/10%10 ) (百位就是Math.floor( Number/100%10 ) )
3,前17位需乘以的系数顺序:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2
然后得到的乘积和对11取模 即 %11 得到 结果:B
之后按照一一对应原则:
0 1 2 3 4 5 6 7 8 9 10
1 0 x 9 8 7 6 5 4 3 2
比如你得到的结果是2,那么对应的就该是x,所以你最后一个号码就应该是X。
让我们看看核心的代码:
var policeSta:Number=Math.floor(Math.random()*(100-11+1))+11;var personNum:Number=Math.floor(Math.random()*(9-1+1))+1;trace("派出所代码:"+policeSta);trace("随机出生的人:"+personNum);trace("派出所代码十位数:"+Math.floor(policeSta/10%10));trace("派出所代码个位数:"+policeSta/1%10)lastNum=(5*7+1*9+10*0 + 1*5+0*8+4*4 + 2*1+9*1+8*6+9*3 + 0*7+9*9 + 0*10+1*5 + Math.floor(policeSta/10%10)*8+(policeSta/1%10)*4 + personNum*2)%11;
最重要的代码就这些,但是为了弄清这些原理,不得不去查找其他资料以求证。
好了,最后得到的身份证号码能不能通过检测呢
我们用网上别人的检测器测试下,如下:
好,通过验证!
如果你自己想弄的更完善点,那么出身地,出身日期可以自己设置,地址码需要自己去查找,原理都是一样的。
最后附上源文件下载地址:http://download.csdn.net/my/uploads
- 用AS3.0生成身份证号码随机
- 批量随机生成身份证号码
- Java随机生成身份证号码
- Python3 生成随机身份证号码
- Java随机生成若干身份证号码
- Java 批量随机生成身份证号码
- AS3随机序列码生成
- C#随机生成18位身份证号码
- Java 批量随机生成身份证号码(未测试)
- As3.0 随机颜色
- python写的随机生成身份证号码的函数
- java版本的身份证验证,随机生成身份证号码
- 身份证号码生成
- 自定义RFS关键字库中的关键字(使用python随机生成身份证号码)
- 身份证号码校验位生成代码
- c++自动生成身份证号码
- python 生成身份证号码
- 自动生成身份证号码
- Python 字符串
- JSTL标签库_03(国际化)
- js 操作cookie
- Apache OS 10013
- java中静态代码块的用法 static用法详解 类的加载顺序。
- 用AS3.0生成身份证号码随机
- JAVA方法和本地方法
- 二叉树和面试题
- 工具类
- 聊聊clip-path
- 关于卡尔曼滤波KF与粒子滤波的一点理解,刚刚接触,求指点。
- MySQL取数据库表,取数据表字段详解
- Python 2.7.x 和 3.x 版本的区别
- mongoDB数据库的部署与安装