Script Values/Mod JavaScript 代码介绍
JavaScript 代码步骤提供了一个用户界面,用户可以编写 JavaScript 代码到脚本区,脚本区域中的每一行代码都会执行一次,该步骤具有两个窗格和一个表
-
Step name:步骤的名称,在单一转换中,名称必须唯一
-
Java script functions:
- Transform Scripts:该步骤中创建的 JavaScript 脚本
- Transform Constants:插件内置常量,用于数据行流程控制
- SKIP_TRANSFORMATION:从输入行集中排除当前行,然后继续处理下一行
- ERROR_TRANSFORMATION:从输入行集中排除当前行,生成错误,并且不处理其余所有行。
- CONTINUE_TRANSFORMATION:在输入行集中包括当前行 - Transform Functions:步骤内置函数(字符串,数字,日期,逻辑,特殊和文件函数),能在脚本中直接调用
-
String Functions
字符串类型的函数是针对字符串类型的参数、变量进行处理操作的函数
- date2str:日期转字符串函数date2str主要有4个方法
- date2str(date):传入日期实例,转换成字符串类型
- date2str(date,format):传入日期和格式化参数,进行格式化转换
- date2str(date,format,iso):传入日期和参数格式化及ISO代码进行转换,(DE = German, EN = English, FR = France, …)
- date2str(date,format,iso,zone):传入时区进行格式化,例如北京时区(GMT+8)
用法示例:
//日期格式化参数format参数类型供参考:
var new_date = new Date();
//yyyy 年 4位:2024
var years_4 = date2str(new_date,“yyyy”);
//yy 年 2位:24
var years_2 = date2str(new_date,“yyyy”);
//MM 月 ,数字(00 -12):04
var months_d = date2str(new_date,“MM”);
//MMM 月,英文简称:
var months_e = date2str(new_date,“MMM”,“EN”);
//MMM 月,英文全称:
var months_f = date2str(new_date,“MMMM”,“EN”);
//dd 天 2位:15
var yays_2 = date2str(new_date,“dd”);
//d 天 1位:1
var yays_2 = date2str(new_date,“d”);
//E 星期简称
var weeks_j = date2str(new_date,“E”,“EN”);
//EEEE 星期全称
var weeks_f = date2str(new_date,“EEEE”,“EN”);
//HH 小时(00-23)
var hours_24 = date2str(new_date,“HH”);
//hh 小时(01-12)
var hours_12 = date2str(new_date,“hh”);
//mm 分钟 2位 05
var minutes_2 = date2str(new_date,“mm”);
//mm 分钟 1位 5
var minutes_1 = date2str(new_date,“m”);
//ss 秒 2位:05
var seconds_2 = date2str(new_date,“ss”);
//s 秒 1位:5
var seconds_1 = date2str(new_date,“s”);
//毫秒
var seconds_1 = date2str(new_date,“SSS”);
var str_new_date = date2str(new_date,‘yyyy-mm-dd HH:mm:ss.SSS’);
-
escapeHtml(var):转义HTML
-
escapeSQL(var):转义SQL,该函数会把单引号转成双引号
-
escapeXml(var):转义XML
-
fillString(var,var):构造定长字符串
-
getOcuranceString(var,var):统计字符串出现频次,第一个参数是要搜索的完整字符串,第二个参数是要搜索统计的字符串
-
indexOf(var,var):获取字符串下标索引,获取出现字符串的索引开始位置
-
indexOf(var,var,var):获取字符串下标索引,指定开始位置,获取字符串索引开始位置
-
initCap(var):首字母大写,对指定字符串首字母大写处理
-
lower(var):字符串转小写,将传入字符串全部转小写
-
lpad(var,var,var):字符串填充左侧,用指定长度的给定字符将字符串填充到左侧,第一个参数传入字符串,第二个参数填充单字符,第三个参数填充单字符长度,如果length长度超过给定字符串的长度,将对填充字符串做减法,如果length长度小于给定字符串的长度,则默认返回原字符串,不做填充
-
ltrim(var):去空字符,从左侧开始去除空字符串
-
num2str(var):数字转字符串,转换num数字为字符串
-
num2str(var,var):数字转字符串,格式化数字为指定字符串
-
num2str(var,var,var):数字转字符串,按照本地ISO编码进行格式化
-
protectXMLCDATA(var):XML保护标签函数转换,传入给定字符串,添加标准保护
-
removeCRLF(var):移除字符串中CRLF字符,给定字符串中删除CR END LF的字符串
-
replace(var,var,var):替换字符串,从指定字符串中查询,然后替换
-
rpad(var,var,var):字符串右侧填充,使用方法同lpad,只是一个是左侧,一个是右侧
-
rtrim(var):去除空字符(右侧)
-
str2RegExp(var,var):正则切分,出入一个正则表达式,对string字符串进行Split操作
-
substr(var,var):字符串截取,通过指定索引开始对字符串进行截取操作,指定from索引开始截取字符串
-
substr(var,var,var):字符串截取,通过指定索引开始对字符串进行截取操作,指定开始和截止索引进行截取
-
trim(var):去除左右空格
-
unEscapeHtml(var):不转义HTML,针对以转义的HTML字符进行解密
-
unEscapeXml(var):针对以转义的HTML字符进行解密
-
upper(var):字符串转大写,将传入字符串全部转大写
- Input fields:输入流的字段名称
- Output fields:输出流的字段名称
-
Java script:JavaScript 代码脚本编辑区。可以从左窗口中插入常量、函数、输入输出字段、JavaScript 函数。右键单击后,会出现功能窗口
- Add new:添加新的脚本标签
- Add copy:在新标签中添加现有脚本的副本
- Set Transform Script:指定每个传入行执行的脚本
注:默认情况下,第一个选项卡是转换脚本
- Set Start Script:指定在处理第一行之前要执行的脚本
- Set End Script:指定在处理完最后一行之后执行的脚本
- Remove Script Type:指定不执行脚本 -
Compatibility mode?:选择“ 兼容模式”选项以使用 2.5JavaScript引擎的 版本,如果未选择此选项(默认),则该步骤使用 JavaScript 引擎的版本 3
注:在2.5 引擎中,值对象可以直接修改,并且其类型可以更改,例如,您可以将日期变量转换为字符串,3.0 引擎不支持此功能,因此 JavaScript 应该运行得更快 -
Optimization level:设置 JavaScript 优化级别。0 没有执行优化。1-9 执行所有优化。9 以最快的速度执行大多数优化,但编译速度较慢。预设值为 9
-
Fields:
- Fieldname:设置输入流中的字段名称
- Rename to:为输入字段指定一个新字段名称
- Type:指定字段类型:字符串,整数,二进制,数字
- Length:对于数字:数字的有效长度;对于字符串:字符串的总长度;对于日期:字符串的打印输出长度(例如,输入 4 只会返回年份)
- Precision:对于数字:小数位数
- Replace value ‘Fieldname’ or ‘Rename to’:下拉框选择 Y(是)和 N (否)将指定的“字段名称”替换为“改名为”字段
注:下拉框选择 Y(是),“改名为”必须是输入流中的字段