字符串函数¶
方法清单¶
| 函数名 | 参数 | 说明 |
|---|---|---|
| isNumberText(str) | str:字符串型参数 | 检查其参数是否为数字格式的字符串。是,返回true;否,则返回false |
| isDateText(str) | str:字符串型参数 | 检查其参数是否为日期格式的字符串。是,返回true;否,则返回false |
| isMailAddressText(str) | str:字符串型参数 | 检查其参数是否为电子邮箱地址格式的字符串。是,返回true;否,则返回false |
| isAnsiASIIC(str) | 暂未实现 | |
| splitText(str,separator) | str: 需要拆分的字符串separator: 分割符 | 按照指定的分割符,切割文本,将分割好的结果通过数组返回 |
| splitString(str, separator) | str: 需要拆分的字符串separator: 分割符 | 按照指定的分割符,切割文本,将分割好的结果通过数组返回 |
| joinText(strs) | strs: 字符串数组指定的分隔符是分号";" | 将指定的字符串数组按照指定的分隔符组合成字符串,返回字符串 |
| isNotNull(val) | val:要作判断的值 | 判断值是否不为空,为数字时不为0,为字符串时长度大于0,为日期时不为null |
| parseInt(text) | text:数字文本参数 | 将数字文本转换成整型并返回 |
| parseLong(text) | text:数字文本参数 | 将数字文本转换成长整型并返回 |
| parseDouble(text) | text:数字文本参数 | 将数字文本转换成浮点型并返回 |
方法示例¶
1.isNumberText(str)
作用:实现isNumberText(num)函数的应用,数字字串校验(写在控件只读脚本中)
脚本示例:
// 表单B字段只读脚本:A字段(编号)为数值类型时,B字段设为只读(返回true)
(() => {
const fieldAValue = getItemValueAsString("编号") || "";
let isFieldBReadOnly = false;
if (fieldAValue.trim()) {
const isNumeric = STRING.isNumberText(fieldAValue) && !isNaN(Number(fieldAValue));
if (isNumeric) {
isFieldBReadOnly = true;
}
}
println(`A字段(编号)值:${fieldAValue} | 是否为数值类型:${isFieldBReadOnly}`);
return isFieldBReadOnly;
})();
2.isDateText(str)
作用:实现isDateText(num)函数的应用,日期字串校验(写在控件只读脚本中)
脚本示例:
// 表单B字段只读脚本:A字段(时间)为有效日期字符串时,B字段设为只读
(() => {
const dateFieldValue = getItemValueAsString("时间") || "";
let isBFieldReadOnly = false;
if (dateFieldValue.trim()) {
const isValidDate = isDateText(dateFieldValue) && !isNaN(new Date(dateFieldValue).getTime());
if (isValidDate) {
isBFieldReadOnly = true; // A是有效日期 → B只读
}
}
println(`A字段(时间)值:${dateFieldValue} | B字段是否只读:${isBFieldReadOnly}`);
return isBFieldReadOnly;
})();
3.isMailAddressText(str)
作用:实现isMailAddressText(num)函数的应用,Email字串校验(写在控件只读脚本中)
脚本示例:
// 表单B字段只读脚本:A字段(邮箱)为有效电子邮箱格式时,B字段设为只读
(() => {
const emailFieldValue = getItemValueAsString("邮箱") || "";
let isBFieldReadOnly = false;
if (emailFieldValue.trim()) {
// 平台内置邮箱格式校验 + 正则二次校验(避免平台方法漏判)
const emailReg = /^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
const isValidEmail = STRING.isMailAddressText(emailFieldValue) && emailReg.test(emailFieldValue.trim());
if (isValidEmail) {
isBFieldReadOnly = true;
}
}
// 调试日志(可选,便于排查问题)
println(`A字段(邮箱)值:${emailFieldValue} | B字段是否只读:${isBFieldReadOnly}`);
return isBFieldReadOnly;
})();
4.isAnsiASIIC(str)
作用:暂未实现
5.splitString(str, separator)
作用:实现splitString(str, separator)函数的应用,以指定字串分割字符串(写在下拉框中选项脚本)
脚本示例:
// 表单B字段选项脚本:将A字段值通过splitString完全匹配$$分割后生成下拉选项
(() => {
const FIELD_A_NAME = "编号"; // A字段名称(替换为实际表单字段名)
const SEPARATOR = "$$"; // 完全匹配的分割符
const fieldAValue = getItemValueAsString(FIELD_A_NAME) || "林俊杰$$林志颖$$$安以轩$邱泽$$唐嫣";
const splitArr = STRING.splitString(fieldAValue, SEPARATOR) || [];
const validOptions = splitArr.filter(item => item && item.trim().length > 0);
const opts = $TOOLS.createOptions();
validOptions.forEach((optionValue) => {
const cleanValue = optionValue.trim(); // 清洗选项首尾空格
opts.add(cleanValue, cleanValue); // 选项值 = 显示文本
});
// 调试日志(可选,便于排查分割结果)
println(`A字段原始值:${fieldAValue}`);
println(`splitString分割后数组:${splitArr}`);
println(`最终有效选项:${validOptions}`);
return opts;
})();
6.joinText(strs)
作用:实现joinText(strs)函数的应用,数据转换成字符串并以分割符连接
脚本示例:
// 脚本功能:将目标字符串通过splitText部分匹配$$分割,再用joinText组合为;分隔的字符串
(() => {
const FIELD_A_NAME = "源字段"; // 替换为实际表单A字段名
const SPLIT_SEPARATOR = "$$"; // splitText部分匹配的分割符
const rawString = getItemValueAsString(FIELD_A_NAME) || "11$$22$$$33$44$$55";
const splitArr = STRING.splitText(rawString, SPLIT_SEPARATOR) || [];
const validArr = splitArr.filter(item => item && item.trim().length > 0);
const joinedValue = splitString(validArr);
println(`原始字符串:${rawString}`);
println(`splitText分割后数组:${splitArr}`);
println(`过滤后有效数组:${validArr}`);
println(`joinText组合后字符串:${joinedValue}`);
return joinedValue;
})();
7.isNotNull(val)
作用:实现isNotNull(val)函数的应用,非空值校验(写在控件校验脚本中)
脚本示例:
// 表单保存校验脚本:校验「编号」控件值非空(含空白字符校验)
(() => {
let fieldValue = getItemValue("编号");
const trimmedValue = (fieldValue || "").toString().trim();
const isEmpty = trimmedValue.length === 0;
let errorMsg = "";
if (isEmpty) {
errorMsg = "编号字段不能为空!";
}
println(`编号字段原始值:${fieldValue} | 是否为空:${isEmpty}`);
return errorMsg;
})();
8.parseInt(text)
作用:实现parseInt(text)函数的应用,将数字文本转换成整型并返回
脚本示例:
// 表单B字段值脚本:将A字段(价格)转换为整型后赋值给B
(() => {
const fieldAValue = getItemValueAsString("价格") || "";
let intValue = 0;
if (fieldAValue.trim()) {
const numValue = Number(fieldAValue);
if (!isNaN(numValue)) {
intValue = NUMBER.parseInt(numValue, 10);
}
}
println(`A字段(价格)原始值:${fieldAValue} | 转换后整型值:${intValue}`);
return intValue;
})();
9.parseLong(text)
作用:实现parseLong(text)函数的应用,将数字文本转换成长整型并返回
脚本示例:
// 表单B字段值脚本:将A字段(价格)转换为长整型(Long)后赋值给B
(() => {
const fieldAValue = getItemValueAsString("价格") || "";
let longValue = 0;
if (fieldAValue.trim()) {
const numValue = Number(fieldAValue);
if (!isNaN(numValue)) {
longValue = NUMBER.parseLong(fieldAValue, 10);
}
}
println(`A字段(价格)原始值:${fieldAValue} | 转换后长整型值:${longValue}`);
return longValue;
})();
10.parseDouble(text)
作用:实现parseDouble(text)函数的应用,将数字文本转换成浮点型并返回
脚本示例:
// 表单B字段值脚本:将A字段(价格)转换为浮点型(Double)后赋值给B
(() => {
const fieldAValue = getItemValueAsString("价格") || "";
let floatValue = 0;
if (fieldAValue.trim()) {
const numValue = Number(fieldAValue);
if (!isNaN(numValue)) {
floatValue = NUMBER.parseDouble(fieldAValue);
}
}
println(`A字段(价格)原始值:${fieldAValue} | 转换后浮点型值:${floatValue}`);
return floatValue;
})();