📄 barcodepaser.js
字号:
/**
* BarCodePaser javascript
* 功能:将某格式编码,按照一系列子编码新模式进行解析,并在指定表单域显示
* 例如:源编码INB9003-A123-B333,编码被"-"分割成3个部分,分别是文件号,章节号,条款号
* 要求:将文件号,章节号,条款号分别取出,并在指定表单域显示
*
* 处理过程:
* (1) 修改模式定义:例如
* var Patterns=new Array(); //模式序列,模式包含first所指字符,不包含last所指字符
* var NumOfPatterns=3; //模式个数
* Patterns[0]=new CodePattern(0,7);
* Patterns[1]=new CodePattern(8,12);
* Patterns[2]=new CodePattern(13,17);
*
* (2) 修改PatternParser函数,完成对各个子编码的一些基本处理或者数据转换等
*
* (3) 修改TarField目标域id列表 与 showRes 函数,用于确定不同目标域的显示方式
*
* (4) 源处理页面条用函数 CoderParse(源编码) 进行处理;
*
* @author Liu Yin
* @version BarCodePaser.js v1.0 2008-09-03
*
*/
/**
* CodePattern类:用来分析描述编码模式,其中first为某一特定模式在编码中的开始位置,last为结束位置
*/
function CodePattern(first, last) {
this.first = first;
this.last = last;
}
var Patterns=new Array(); //模式序列,模式包含first所指字符,不包含last所指字符
var NumOfPatterns=3; //模式个数
Patterns[0]=new CodePattern(0,1);
Patterns[1]=new CodePattern(1,7);
Patterns[2]=new CodePattern(7,13);
/**
* PatternParser函数:做指定模式的编码转换处理
* 参数:op为转换方式,t_code为原编码,cp为模式
*/
function PatternParser(op,t_code,cp)
{
var s_tar=t_code.substring(cp.first,cp.last);
switch(op)
{
case 1:
//在次添加op==1作对应的不同转换操作
break;
default:
return defParse(s_tar);
}
}
/**
* defParse函数:对子编码串做转换处理
* 参数:s_tar编码串
*/
function defParse(s_tar)
{
return s_tar;
}
var TarField=new Array(); //目标域id列表,存放用于显示各个处理后子编码数据的各Field ID
TarField[0]="input_a"; //其中,每个目标域id必须与HTML视图页面中的域对应
TarField[1]="input_b";
TarField[2]="input_c";
/**
* showRes函数:在不同目标域显示处理后数据
* 参数:s_ctar处理后数据,i目标域索引
*/
function showRes(i,s_ctar)
{
//可判断目标域索引i的值,从而确定显示方式
document.getElementById(TarField[i]).value=s_ctar;
}
/**
* CoderParse函数:用来分析将编码字符串,其中t_code为编码字符串
*/
function CoderParse(t_code){
var i=0
for (i=0;i<NumOfPatterns;i++)
{
showRes(i,PatternParser(0,t_code,Patterns[i]));
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -