我需要将验证应用于条件的文本框 表达式是以下格式之一。
Valid Inputs:-
1) (C1 && C2) || (C1 || C3)
2) (C1 || C3)
3) C1
4) (C1 && C2) || C3 ...etc.
Invalid Inputs:-
1) (C1 && C2
2) (C1 || ) C2
3) C1 && C2 ...etc.
需要注意的事项:
可能有&&或||仅在条件表达式中的运算符。
可能有任意数量的条件C1,C2,C3,C4 ......等等。
打开和关闭括号应该匹配,并且在每个括号中,应该有两个条件由&&和或||运营商。
表达式中仅使用()
括号。
我怎么能这样做是否有任何javascript正则表达式可用于此?任何帮助都非常感谢。提前致谢。
答案 0 :(得分:1)
终于得到了解决方案!
实际上,我想评估上面的逻辑运算符表达式,其中每个C1,C2 ... Cn将在API端被true或false替换,并将使用javax.script.ScriptEngine.eval()进行评估。在这种情况下,我想在UI端验证表达式。
所以,为了验证它,我只使用了eval()
的javascript,其中我通过将true,false替换C1,C2 ... Cn来传递条件表达式(只是为了检查是否表达在语法上是否正确)。
例如
(C1&& C2)&& (C3 || C4)
为了检查上面的表达式的语法,我只是将布局值替换为C1,C2,C3和C4,例如"(true&& true)&& (true || true)"并使用
进行测试eval("(true && true) && (true || true)")
如果没有=> ' Uncaught SyntaxError:意外的输入结束' error表示表达式有效。这对我有用。
由于