JavaScript验证/正则表达式

时间:2016-12-25 13:41:31

标签: javascript regex validation

我需要将验证应用于条件的文本框 表达式是以下格式之一。

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.

需要注意的事项:

  1. 可能有&&或||仅在条件表达式中的运算符。

  2. 可能有任意数量的条件C1,C2,C3,C4 ......等等。

  3. 打开和关闭括号应该匹配,并且在每个括号中,应该有两个条件由&&和或||运营商。

  4. 表达式中仅使用()括号。

  5. 我怎么能这样做是否有任何javascript正则表达式可用于此?任何帮助都非常感谢。提前致谢。

1 个答案:

答案 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表示表达式有效。这对我有用。

由于