根据<input> / <mat-select>中的'rules'检查表达式字符串的'validity'

时间:2019-06-26 13:21:47

标签: javascript regex angular angular-material expression

我需要“验证”(而不是评估)字符串输入/ mat-select,它是预定义的“字段”,“运算符”,“值”和/或“关键字”的“正确”组合,以创建“请求参数'。它与JIRA's JQL相同,只不过它不评估表达式,而只是验证它的格式正确。例如,如果搜索的内容是查找“汽车”的类型,则“有效”字符串将如下所示:

carmake = ford AND carmodel = edsel或carcolor =荔枝螺和caryear = 1959。

以任何顺序。您可以想象一个“无效”字符串(即缺少运算符,值或字段)。

是否有预包装的正则表达式或3d方库来执行此操作?我遇到的最接近的是typeahead.js,但仍需要进一步调整。

最终,一旦通过验证,我还需要返回一个带有字符串(根据用户类型)解析的“对象”,以在自动完成功能中填充下拉建议(同样,类似于JIRA的JQL)。事前赞赏。最终的经过验证的字符串将带有绿色标记,并带有一个提交按钮,并将其发送到后端进行评估。

0 个答案:

没有答案