应用背景:
现在越来越多的行业系统都选择采用BS构架设计,比传统的CS构架更易维护和安装。而且现在BS构架系统都采用HTML5特效比较多,而传统的IE浏览器对HTML5支持不理想,所以很多BS构架系统都选择谷歌chrome和火狐Firefox内核的浏览器作为支持。
基于以上的需求,我公司特针对谷歌google chrome以及火狐Firefox浏览器开发了一款全新一代身份证读卡器,可以在最新版本的chrome和Firefox内核浏览器稳定的脱机读取身份证所有信息。
此谷歌谷歌google chrome浏览器身份证读卡器插件支持谷歌chrome各版本,经过市场测试,最新的chrome 67版本也可以稳定运行。
<html>
<head>
<title>身份证读卡器谷歌Chrome、火狐Firefox网页开发接口_身份证阅读器WEB浏览器开发控件驱动</title>
<meta name="Keywords" content="谷歌Chrome,火狐Firefox,SDK,开发接口,web,浏览器" />
<meta name="Description" content="身份证读卡器谷歌Chrome浏览器网页开发包,身份证阅读器火狐Firefox web网页浏览器开发控件驱动程序下载,身份证识别仪SDK开发包接口,欢迎下载使用。" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
body {background-color:#eeeeee}
td {background-color:#FFFFFF}
input {width:430px;}
.butt {width:150px; height:30px}
.title {padding-left:10px; width:130px;font-size:14px;}
table {font-size:12px;}
table .tfonts{font-size:26px;}
</style>
</head>
<body>
<table width="750px" border="0" cellspacing="1" cellpadding="2" align="center" bgcolor="#18bf10">
<tr>
<td colspan="3" align="center" height="60px;" class="tfonts">东信EST-100GS谷歌Chrome、火狐Firefox测试页面</td>
</tr>
<tr>
<td class="title">照片格式:</td>
<td width="100px">
<input type="text" name="text_zpFormat" id="text_zpFormat" value="" placeholder="非必输,照片格式如:bmp,jpg,png,gif,tiff,psd,WMF,pcx,tga,pcx等" >
</td>
<td rowspan="7" align="center"><img id="PhotoID" name="Photo" style="width:96px; height:118px;"/></td>
</tr>
<tr>
<td class="title">物理卡号(UID):</td>
<td width="430px">
<input type="text" name="text_ID" id="text_ID" value="" readonly >
</td>
</tr>
<tr>
<td class="title">姓名:</td>
<td width="430px">
<input type="text" name="text_name" id="text_name" value="" readonly >
</td>
</tr>
<tr>
<td class="title">性别:</td>
<td>
<input type="text" name="text_sex" id="text_sex" value="" readonly >
</td>
</tr>
<tr>
<td class="title">民族:</td>
<td>
<input type="text" name="text_nation" id="text_nation" value="" readonly >
</td>
</tr>
<tr>
<td class="title">出生:</td>
<td>
<input type="text" name="text_birthday" id="text_birthday" value="" readonly >
</td>
</tr>
<tr>
<td class="title">地址:</td>
<td>
<input type="text" name="text_address" id="text_address" value="" readonly >
</td>
</tr>
<tr>
<td class="title">身份证号:</td>
<td colspan="2">
<input type="text" name="text_idNum" id="text_idNum" value="" readonly >
</td>
</tr>
<tr>
<td class="title">签发机关:</td>
<td colspan="2">
<input type="text" name="text_dept" id="text_dept" value="" readonly >
</td>
</tr>
<tr>
<td class="title">开始期限:</td>
<td colspan="2">
<input type="text" name="text_effDate" id="text_effDate" value="" readonly >
</td>
</tr>
<tr>
<td class="title">结束期限:</td>
<td colspan="2">
<input type="text" name="text_expDate" id="text_expDate" value="" readonly >
</td>
</tr>
<tr>
<td class="title">返回数据:</td>
<td colspan="2">
<textarea id="text_result" rows="15" name="text_result" id="text_result" style="color:#FF0000;width:94.3%;" cols="70" readonly></textarea>
</td>
</tr>
<tr>
<td colspan="3" align="center" height="60px;">
<!--<input class="butt" type="button" name="OpenReader" value="打开设备" onClick="openReader();">-->
<input class="butt" type="button" name="startReadCard" value="读身份证信息" onClick="readIDCard();">
<!--<input class="butt" type="button" name="CloseReader" value="关闭设备" onClick="closeReader();">-->
<input class="butt" type="button" name="Clear" value="清空信息" onClick="clearText();">
</td>
</tr>
</table>
<p align="center">
<a href="http://www.eastcoms.com/intelligent/EST-100GS.html" target="_blank">东信EST-100GS免驱第三代身份证阅读器</a>,支持多种网页浏览器使用,<a href="https://ccc-x.jd.com/dsp/tp?log=Ikfv6k8hm1UHuCfb4nkhYuG6fe8jDgoZ5Cgylih4qhrRwJvsNAYKZZ-_SD3asXT16d4gB6VvyrWQzENyu277hA&v=708&to=https%3A%2F%2Fitem.jd.com%2F37236234565.html" target="_blank">京东购买设备</a> <a href="http://www.eastcoms.com/chrometest.html" target="_blank">最新版本V4.2.0</a> <a href="https://share.weiyun.com/58Q2rwW" target="_blank">欢迎下载安装使用</a> <a href="https://v.qq.com/x/page/k3076kvdo9u.html" target="_blank">演示视频</a> <a href="https://www.google.cn/chrome/" target="_blank">下载谷歌Chrome浏览器</a>
</p>
</p>
<p align="center">
测试版本(2020年02月更新):
谷歌Chrome:80.*.*.* /
火狐Firefox:73.* /
360安全浏览器:10.*.*.* /
360急速浏览器:12.0.* /
Internet Explorer:IE11
</p>
<p align="center">开发支持电话:13922210502,QQ:313826379</p>
<p align="center">说明:此谷歌浏览器SDK支持型号东信EST-100GS,市场上其他品牌型号,例如千景J15S、千景HD-900、华视CVR-100UC,华旭HX-FDX3S</p>
<p align="center">神思SS628-100U,新中新DKQ-A16D,精伦iDR210,普天CP IDMR02/TG,神盾ICR-100U未经深度测试,不一定适用!</p>
<script type="text/javascript" >
//==================================================================
// **无缝支持新版本谷歌Chrome火狐Firefox网页浏览器,支持H5、Vue、JSP、PHP、ASP、ASPX、JS、HTML等开发语言
// 版权所有 广东东信智能科技有限公司,最新控件下载:http://www.eastcoms.com
// 未经授权不允许对程序代码以任何形式任何目的的再发布
// 官方在线测试页面:http://www.eastcoms.com/chrome.html
// 前端修改日期:2019.08.08
// ==================================================================
var socket;
var sendFlag=0;
var zpFormat;
function clearText()
{
//document.getElementById("text_ID").value = "";
document.getElementById("text_name").value = "";
document.getElementById("text_sex").value = "";
document.getElementById("text_nation").value = "";
document.getElementById("text_birthday").value = "";
document.getElementById("text_address").value = "";
document.getElementById("text_idNum").value = "";
document.getElementById("text_dept").value = "";
document.getElementById("text_effDate").value = "";
document.getElementById("text_expDate").value = "";
document.getElementById("text_result").value = "";
document.getElementById("PhotoID").src = "";
}
function openReader() {
var host = "ws://127.0.0.1:6688";
if(socket == null){
resultMsg("设备连接成功.");
socket = new WebSocket(host);
}else{
resultMsg("设备已打开.");
}
try {
socket.onopen = function (msg) {
clearZP(); //清除zp文件夹的身份证头像
};
socket.onerror = function(){
alert("请安装驱动.");
};
socket.onmessage = function (msg) {
if (typeof msg.data == "string") {
var msgM=msg.data+"";
if(sendFlag==1){
//resultMsg("清除头像成功.");
openReaderStart();
}else if(sendFlag==2){
if(msgM[0]=="1"){ //1:连接设备成功
resultMsg("连接成功.");
}else{ //2:连接设备失败
resultMsg("请连接设备.");
}
}else if(sendFlag==3){
if(msgM[0] == "0"){
resultMsg("身份证阅读器异常,请联系管理员.");
}else if(msgM[0]=="3"){
resultMsg("请连接设备.");
}else if(msgM[0]=="4"){
resultMsg("请放身份证.");
}else if(msgM[0]=="5"){
resultMsg("读取身份证信息失败,请查身份证是否有效.");
}else if(msgM[0]=="6"){
resultMsg("读取身份证头像失败,请查身份证是否有效.");
}else{
//获得身份信息
//document.getElementById("text_ID").value= msgM.match(/identityCardID(\S*)identityCardID/)[1]; //证件ID
document.getElementById("text_name").value = msgM.match(/name(\S*)name/)[1]; //姓名
document.getElementById("text_sex").value = msgM.match(/sex(\S*)sex/)[1]; //性别
document.getElementById("text_nation").value = msgM.match(/nation(\S*)nation/)[1]; //民族
document.getElementById("text_birthday").value = msgM.match(/birthDate(\S*)birthDate/)[1]; //出生日期
document.getElementById("text_address").value = msgM.match(/address(\S*)address/)[1]; //地址
document.getElementById("text_idNum").value = msgM.match(/IDCode(\S*)IDCode/)[1]; //身份证号
document.getElementById("text_dept").value = msgM.match(/issuingAuthority(\S*)issuingAuthority/)[1]; //签发机关
document.getElementById("text_effDate").value = msgM.match(/beginPeriodOfValidity(\S*)beginPeriodOfValidity/)[1]; //有效日期起始
document.getElementById("text_expDate").value = msgM.match(/endPeriodOfValidity(\S*)endPeriodOfValidity/)[1]; //有效日期截止
document.all("PhotoID").src = "data:image/jpeg;base64,"+msgM.match(/##(\S*)##/)[1];//显示头像
}
}else if(sendFlag==4){
closeSocket();
if(msgM[0] == "1"){ //1:关闭设备成功
resultMsg("关闭设备成功.");
}
}
}
else{
alert("连接异常,请检查是否成功安装千景J15S驱动.");
}
};
}
catch (ex) {
alert("连接异常,请检查是否成功安装千景J15S驱动.");
}
}
function resultMsg(msg) {
document.getElementById("text_result").value += "\r\n" + msg;
}
//清除BMP图片
function clearZP() {
sendFlag=1;
zpFormat=document.getElementById("text_zpFormat").value;
socket.send("SDT_ClearZP#"+zpFormat+"#"); //带图片格式参数
//socket.send("SDT_ReadCard#"); 无需带图片格式参数
}
//连接设备
function openReaderStart() {
sendFlag=2;
socket.send("SDT_OpenReader#");
}
//读取身份信息
function readIDCard() {
sendFlag=3;
zpFormat=document.getElementById("text_zpFormat").value;
try {
socket.send("SDT_ReadCard#"+zpFormat+"#"); //带图片格式参数 需要 与 清除BMP图片 socket.send 保持一致
//socket.send("SDT_ReadCard#"); 无需带图片格式参数 需要 与 清除BMP图片 socket.send 保持一致
}
catch (ex) {
resultMsg("请打开设备.");
}
}
//关闭设备
function closeReader() {
sendFlag=4;
try {
socket.send("SDT_CloseReader#");
}
catch (ex) {
resultMsg("请打开设备.");
}
}
function closeSocket() {
try {
if(socket != null){
socket.close();
socket = null;
}
}
catch (ex) {
}
};
window.onload=openReader(); // 默认页面打开,就自动打开设备
</script>
<p>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?1cc7af7544aa252b0c4b65d97397a24a";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</p>
</body>
</html>
身份证阅读器在线演示网址:http://www.eastcoms.com/chrometest.html
支持各浏览器最新版本(2020年05月更新):
谷歌Chrome:81.0.*,支持HTTPS协议
火狐Firefox:76.0*
360安全浏览器:12.1(内核版本:78.0)
360极速浏览器:12.0(内核版本:78.0)
Internet Explorer:IE10、IE11
UC:6.2.4098.3
搜狗:8.6
QQ:10.5
遨游:5.3.8
世界之窗:7.0
2345浏览器:10.8
支持的WEB开发语言如下:
HTML、ASP、ASPX、PHP、JSP、Javascript、H5等网页都支持接入使用。
东信EST-100G全新一代身份证读卡器采用谷歌chrome内核,是一款专业的WEB专享身份证读卡器。东信EST-100G内置公安安全解密模块,脱机即可在网页中读取身份证的全部信息。
特别注意:
此谷歌chrome身份证阅读器网页接口适用东信EST-100G免驱版第三代身份证读卡器,其他版本读卡器不一定支持使用。
以下型号第二代身份证阅读器(读卡器)未经深度测试,不一定支持使用。
如:神思SS628(100)、新中新DKQ-A16D、华视CVR-100UC、精伦IDR210、国腾GTICR100、普天CP IDMR02/TG、神盾ICR-100U、ICR-100M、华旭HX-FDX3S、昌茂CM008等等等……
不支持的浏览器有:苹果apple的safari、以及微软的edge浏览器。