Azure Logic Apps条件判断:如何校验字符串长度与纯数字格式?
Azure Logic Apps 社保号(SSN)多条件校验解决方案
报错原因修正
你触发的length()函数报错,是因为调用时未传入目标字符串参数。length()函数必须接收一个数组或字符串作为参数才能计算长度,正确用法是将需要校验的PersonNr字段作为参数传入。
三个校验条件的具体实现
在Condition Action中添加以下三个条件,设置逻辑关系为所有条件都满足:
校验字符串长度为12位
- 左侧表达式:
length(triggerBody()?['PersonNr'])(根据实际数据来源调整字段路径,比如body('Get_Item')?['PersonNr']) - 运算符:
等于 - 右侧值:
12(选择数字类型,无需转字符串)
- 左侧表达式:
校验仅包含0-9数字
- 左侧表达式:
matchesPattern(triggerBody()?['PersonNr'], '^[0-9]{12}$') - 运算符:
等于 - 右侧值:
true - 说明:正则
^[0-9]{12}$强制要求字符串从开头到结尾都是12位数字,同时也能验证长度,和第一个条件配合做双重校验更严谨。
- 左侧表达式:
校验以"0000"结尾
- 左侧表达式:
endsWith(triggerBody()?['PersonNr'], '0000') - 运算符:
等于 - 右侧值:
true
- 左侧表达式:
额外注意事项
如果PersonNr可能为空值,建议先添加一个非空校验条件:
- 左侧表达式:
empty(triggerBody()?['PersonNr']) - 运算符:
不等于 - 右侧值:
true
内容的提问来源于stack exchange,提问作者Sanktas
相关产品推荐
相关产品推荐

