我想验证字段值为整数,并使测试值为整数。在下面的代码中,如果字段值是字符串,那么我得到错误。这里我需要配置,如果值不是整数,然后使测试值为".
%dw 1.0
%output application/json
%var field="2312321a"
%function isEmpty(value) (value!=null and value!="")
---
{
test: field as :number as :string {format: "###"} as :number when isEmpty(field) otherwise ""
}
期望值:eg: 123.44—>123年、1234年→1234、123 ab→","→">
您可以使用正则表达式来验证字符串是否只包含数值。这是一个可以用于此目的的正则表达式。它也可以处理负值。
/(+ -) ? ([0 - 9] * [] ? [0 - 9] +)/
并使用matches
检查字符串是否为数字。
%dw 1.0
%output application/json
%var field="2312321a"
%function isNumeric(string) string matches /[+-]?([0-9]*[.]?[0-9]+)/
---
{
test: field as :number as :string{format: "###"} as :number when isNumeric(field) otherwise ""
}