用 csv 中的数据检验用户的输入

例题描述和简单分析

有用户登录信息 csv 文件 userlogin.csv,如下所示:

Ccustomer1lastname,9774ASU,Customer

Ccustomer2lastname,6979ASU,Customer

mman,4234ASU,Manager

三列分别为用户名、密码、角色,需要判断传入的参数(用户名、密码、角色)是否能与 csv 中的信息匹配(不区分大小写),匹配返回 true,表示登录成功,无匹配返回 false,表示登录失败。

解法及简要说明

在集算器中编写脚本 p1.dfx,如下所示:


A

1

=file("userlogin.csv").read@n()

2

=lower([username,password,role].concat@c())

3

return   A1.select@1(lower(~)==A2)!=null

简要说明:

设三个网格参数:

1、参数名:username

2、参数名:password

3、参数名:role

A1   csv读成串序列

A2  三个参数组成的序列,用逗号拼成串,并且转为小写

A3  选出序列 A1 中符合条件(当前成员(串)转小写后等于 A2)的成员,若不为空,则说明可以匹配到,返回 true,否则返回 false

JAVA 集成这段代码的方法可参考:《Java 如何调用 SPL 脚本》

问答搜集

https://stackoverflow.com/questions/61682190/storing-strings-in-2d-array-and-reusing-them-for-validation-input