我正在使用Java和ZK。尝试将regex用作文本框上的约束。
这是regex:^[0-9]{1,9}(?:\\.[0-9]{1,3})?$。它在Java中运行良好,但在zul textbox中使用时,其给出错误:Unknown constraint: ^[0-9]{1 --请看所附的屏幕截图:

正则表达式的有效值-
121245.121(3 digits after decimal is valid)
2145.11
0.23
5748579无效值-
.111
45445.454545(3 digits after decimal is valid)
-1545.2
22..在zul中的代码如下-
<textbox xmlns:w="client" id="bal" maxlength="12" tooltiptext="Balance" constraint="^[0-9]{1,9}(?:\\.[0-9]{1,3})?$">ZK Fiddler网站:http://zkfiddle.org/sample/2c9e93q/2-Textbox-regex-issue
有人能帮我解决这个问题吗?
发布于 2016-03-23 08:16:49
为@RC。在上面的答案中提到,正则表达式分隔符 (/<pattern>/)需要在pattern属性值中定义正则表达式。但是,regex将允许像67\k78这样的值,因为\\定义了一个文字反斜杠,一个点代表除了换行符以外的任何字符。
正确的正则表达式是
<textbox constraint="/^[0-9]{1,9}(?:[.][0-9]{1,3})?$/" xmlns:w="client" id="bal" maxlength="12" tooltiptext="Balance">
^ ^^^ ^注意,在字符类[.]中放置点时,不需要转义。
见更新小提琴。

https://stackoverflow.com/questions/36170698
复制相似问题